android ListView数据变动后保持屏幕位置不变(类似QQ对话列表)
2014-09-01 17:49
417 查看
在网上找的所谓三种方法都不靠谱,比如在onScrollStateChanged事件中用lst_threads.getScaleX()获取最后位置,不知道为何我调试时在if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) 的时候无论getScaleX()还是getScaleY()均返回0。
不管怎样,我已经找到一种更好的替代方法:用getFirstVisiblePosition()获取当前第一条数据的位置和setSelectionFromTop()设置第一条数据的位置,看代码:
这段代码放在下拉刷新的事件中,获得前一页的内容并加到当前的adapter中,列表保存内容不变,用户再慢慢下拉看之前刷下来的内容。。
不管怎样,我已经找到一种更好的替代方法:用getFirstVisiblePosition()获取当前第一条数据的位置和setSelectionFromTop()设置第一条数据的位置,看代码:
int w_cur_pos=lst_threads.getFirstVisiblePosition(); int w_top=lst_threads.getTop(); try { if (pageNo == 1) { Util.showToast(this, R.string.xlistview_err_01); return; } lst_threads.setPageNo(pageNo - 1); int w_cc=model.reloadData(ThreadActivity.this,mSubject,"",lst_threads.getPageNo(), pageSize, true); if (w_cc!=0){ w_cur_pos=w_cur_pos+w_cc+1; } } finally { lst_threads.stopRefresh(); onDone.run(); //lst_threads.resturePosition(); lst_threads.setSelectionFromTop(w_cur_pos,w_top); }
这段代码放在下拉刷新的事件中,获得前一页的内容并加到当前的adapter中,列表保存内容不变,用户再慢慢下拉看之前刷下来的内容。。
相关文章推荐
- SwipeListView删除item保持列表位置不变
- android开发之ExpandableListView的使用,实现类似QQ好友列表
- [Android实例] ListView悬浮标题,类似QQ列表显示
- android开发之ExpandableListView的使用,实现类似QQ好友列表
- android开发之ExpandableListView的使用,实现类似QQ好友列表
- android开发之ExpandableListView的使用,实现类似QQ好友列表
- ListView 仿微信加载数据后保持位置不变
- Ext.net中Gridpanel更新数据时,滚动条位置保持不变
- Android开发入门之采用ListView实现数据列表显示
- Android采用ListView实现数据列表显示
- 九、android的ListView实现数据列表展示
- android expandablelistview--实现类似qq界面的效果
- Android采用ListView实现数据列表显示
- Android采用ListView实现数据列表显示
- ListView滚动加载(类似Android Market的列表)
- android expandablelistview--实现类似qq界面的效果
- Android关于ExpandableListView用法的一个简单小例子。仿QQ列表
- ListView 滚动翻页/滚动加载(类似Android Market的列表)
- Android ExpandableListView 展开列表控件(手机QQ好友列表) (二)控件版
- Android应用中使用ListView实现数据列表显示(传智播客视频笔记)