在项目中常用到listView控件,当想记录滚动中止时的记录,当点击加载新的数据,从记录的位置开始显示的操做怎么实现尼?分为以下步骤java
1.记录位置代码ide
[java] view plaincopyspa
//声明记录中止滚动时候,可见的位置 .net
private int stop_position; blog
[java] view plaincopyget
@Override it
public void onScrollStateChanged(AbsListView view, int scrollState) { io
// TODO Auto-generated method stub ast
// 判断是不是最后一行,而且中止滚动 List
if (isLastRow && scrollState == OnScrollListener.SCROLL_STATE_IDLE) {
//获取可见位置
stop_position = lv_categories.getFirstVisiblePosition();
// 判断是不是最后一页
if (pageInfo.getNowPage() != pageInfo.getCountPage()) {
// 查询下一页数据
categoryManager.queryObjects(pageInfo.getNowPage() + 1);
}
// 记得把标识改成false
isLastRow = false;
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
if ((firstVisibleItem + visibleItemCount) >= totalItemCount) {
isLastRow = true;
}
}
2.从新开始位置
[java] view plaincopy
// 设置listView控件的适配器
lv_categories.setAdapter(adapter);
//设置listView开始的可见位置
lv_categories.setSelection(stop_position);