在listview中添加分页功能,就是当listview滑动到最后一行的时候,listview刷新然后重新获取数据填充适配器。
当然listview的的属性还是和普通的listview是相同的,只是我们要添加一个最后端的加载更多的页面,我们可以自定义一个布局,里面放一个progressDialog,再添加一个title就完成了。
然后在listview的初始状态把这个加载更多的moreView添加到listview中。addFooterView(moreView);
我们第一次的数据源是data;
对listview进行监听lv.setOnScrollListener(this);
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount)
{
firstItem = firstVisibleItem;
lastItem = firstVisibleItem + visibleItemCount - 1; // 减1是因为上面加了个addFooterView
}
@Override
public void onScrollStateChanged(AbsListView view, int scrollState)
{
// 下拉到空闲时候,且最后一个item的数等于数据的总数时,进行更新
if (lastItem == data.size() && scrollState == this.SCROLL_STATE_IDLE)
{
moreView.setVisibility(View.VISIBLE);
//再次发送请求
sendRequest();
}
}
在获取服务器返回的数据之后我们把新的数据追加到原来的数据源中,这样把新的数据填充到适配器中
同时lv.setSelection(firstItem);
Eclipse在debug状态下,查看变量的值,快捷键ctrl+shift+i