Android【 ListView】滑動數據加載
Android開發的時候,會經常用到listview。在獲取網絡數據進行展示的時候,要充分考慮流量和網絡延遲。一般讀取網絡數據都是即時性的,就是說,用戶看到哪裏就獲取哪裏的數據,這樣就節約了流量和降低了係統的負擔。
通過翻頁和滑動加載可以達到這種目的,翻頁我想大家肯定不陌生。在android裏有左右滑動翻頁、點擊按鈕翻頁等等,有時候根據情況和用戶體驗。很多人采用滑動數據加載的模式,這種模式通過監聽listview的滑動事件來加載數據,優點在於:用戶體驗較好,可根據用戶需要實時加載數據,可以根據需要做出各種比較絢麗的效果。缺點在於數據量過大的時候,比如幾百上千條數據。用戶想返回去看指定信息時,這是用戶體驗就不是很好了。所以不管什麼功能,要注意分情況使用。
下麵進入正題,首先我們實現listview的OnScrollListener事件:protected OnScrollListener onScrollListener = new OnScrollListener() {
- public void onScrollStateChanged(AbsListView view, int scrollState) {
- // 判斷listview是否停止滑動並且處於底部
- if(scrollState == OnScrollListener.SCROLL_STATE_IDLE && isRefreshFoot){
- loadBool = false; // 用布爾作為開關,防止在加載數據時,出現多次啟動線程加載數據
- // 數據加載
- loadData();
- }
- }
- public void onScroll(AbsListView view, int firstVisibleItem,
- int visibleItemCount, int totalItemCount) {
- // 判斷是否滑動到底部
- if(firstVisibleItem + visibleItemCount == totalItemCount){
- isRefreshFoot = true;
- }else{
- isRefreshFoot = false;
- }
- }
實現了滑動事件處理後,隻需要監聽listview的滑動事件就行了。在滑動的時候會調用loadData()方法,在這個方法裏實現數據加載就行了。
最後更新:2017-04-02 17:09:28