Android 列表下拉重新整理上拉載入更多分頁功能
阿新 • • 發佈:2018-11-29
手機app 列表頁很常用,當資料特別多的時候,為了更好地使用者體驗,需要進行分頁處理。那麼分頁功能怎麼做呢?
看如下核心程式碼
if (mPage == 1 && mList != null) { mList.clear(); } if (mList == null) { mList = deliveryOrderDetialListModels.getList(); deliveryOrderDetialListAdapter = new DeliveryOrderDetailListAdapter(this, this.mList, this, notPut, mUserType); deliveryOrderDetailListview.setAdapter(deliveryOrderDetialListAdapter); } else { mList.addAll(deliveryOrderDetialListModels.getList()); deliveryOrderDetialListAdapter.notifyDataSetChanged(); } deliveryOrderDetailListview.stopLoadMore(); deliveryOrderDetailListview.stopRefresh(true);
當網路請求獲取資料成功之後 首先判斷 當前mPage是不是等於1 如果是等於1 並且當前集合資料不能空的話,說明是下拉重新整理操作,這需要把結合mlist 資料清空一下,若果,mPage不是1 mList不等於null 代表是上拉載入更多操作,只需要將網路請求mPage頁的資料獲取到裝進mList集合中,當mList等於null mPage等於1代表是一開頁面直接將第一個頁資料 裝進mList頁面 然後呼叫 setAdapter方法。
一共有三種情況。
1.一開啟頁面的時候mPage肯定等於 1 mList等於null
2.上拉載入mPage不等於1,mList不等於null
3.下拉重新整理 mPage等於1.mList不等於null
下拉重新整理的時候將mPage置為1 重新呼叫網路請求方法,上拉載入更多的時候將mPage++
@Override
public void onRefresh() {
mPage = 1;
getDeliveryOrderListData(materialSearchView.getSearchQuery(), false, mPage + "");
}
@Override public void onLoadMore() { if (mSplitPage.getCurrent_page_number() < mSplitPage.getNumber_of_pages()) { mPage++; getDeliveryOrderListData(materialSearchView.getSearchQuery(), false, mPage + ""); } else { deliveryOrderDetailListview.stopLoadMore(getString(R.string.period)); } }
載入更多的時候判斷下 當前頁有沒有超過總頁數 如果沒有超過就把mPage++