在项目中经常使用到listView控件,当想记录滚动停止时的记录,当点击加载新的数据,从记录的位置开始显示的操作怎么实现尼?分为如下步骤
1.记录位置代码
- private int stop_position;
- @Override
- public void onScrollStateChanged(AbsListView view, int scrollState) {
-
-
- if (isLastRow && scrollState == OnScrollListener.SCROLL_STATE_IDLE) {
-
- stop_position = lv_categories.getFirstVisiblePosition();
-
- if (pageInfo.getNowPage() != pageInfo.getCountPage()) {
-
- categoryManager.queryObjects(pageInfo.getNowPage() + 1);
- }
-
- isLastRow = false;
- }
-
- }
-
- @Override
- public void onScroll(AbsListView view, int firstVisibleItem,
- int visibleItemCount, int totalItemCount) {
-
- if ((firstVisibleItem + visibleItemCount) >= totalItemCount) {
- isLastRow = true;
- }
-
- }
2.重新开始位置
- lv_categories.setAdapter(adapter);
- lv_categories.setSelection(stop_position);
listview--记录ListView滚动停止位置与设置显示位置
原文:http://www.cnblogs.com/awkflf11/p/5033602.html