ListView 上拉分页实现逻辑

ListView分页实现:

底部添加一个footer_view ,可通过listview.addFooterView(footer_view);

当listview滑动到底部时,会自动显示该底部view。

添加listview分页效果,需要针对list的scroll状态进行侦听onScrollListener:

在 publicvoidonScroll(AbsListViewview,intfirstVisibleItem,intvisibleItemCount,inttotalItemCount)

中更新最后的可视索引lastVisibleIndex=firstVisibleItem+visibleItemCount-1;

以及当前可见项总数

publicvoidonScrollStateChanged(AbsListViewview,intscrollState)

intitemsLastIndex=adapter.getCount()-1;

intlastIndex=itemsLastIndex+1;

if(scrollState==AbsListView.OnScrollListener.SCROLL_STATE_IDLE&&visibleLastIndex==lastIndex){

Log.i("loadmore","loading");

newHandler().postDelayed(newRunnable(){

@Override

publicvoidrun(){

//加载数据

my_list.setSelection(visibleLastIndex-visibleItemCount+1);//设置选中项

}

},2000);

}

2.在通过侦听listview的OnScroll状态,可手动控制listview加载到底后,替换footerview中的内容

推荐阅读更多精彩内容