Android ListView记录上次滑动时位置状态
来源:互联网 发布:java 根据ip获取地区 编辑:程序博客网 时间:2024/05/17 01:42
在项目中,ListView需要即时的从服务器刷新数据,但是当用户滑动ListView时,每次刷新都会回到顶部(本次刷新数据不是在数据的list中添加新的数据,如果是这样可以采用adapter.notifyDataSetChanged()方法,也是从ListView当前位置向下添加,不会回到顶部,本次刷新listview数据是重新设置的adapter),用户体验不太好,查了一下,有一种可以保持ListView的滑动状态的方法,这样每次刷新ListView数据时不用回到顶部了,首先声明一个Parcelable对象(注:RefreshListView为自定义ListView,此处用法与普通ListView相同)
Parcelable state;
refreshListView=(RefreshListView)findViewById(R.id.hall_3_list);refreshListView.setAdapter(adapter);refreshListView.setOnScrollListener(mScrollListener);//用于保存状态,第一次设置适配器也要保存一次,避免没有滑动时造成空指针state=refreshListView.onSaveInstanceState();
下面是滑动监听器,方便在滑动时保持状态
public OnScrollListener mScrollListener = new OnScrollListener() {@Override public void onScrollStateChanged(AbsListView view, int scrollState) {state = refreshListView.onSaveInstanceState();switch (scrollState) {case OnScrollListener.SCROLL_STATE_FLING:break;case OnScrollListener.SCROLL_STATE_IDLE:break;case OnScrollListener.SCROLL_STATE_TOUCH_SCROLL:break;default:break;}adapter.notifyDataSetChanged();}@Overridepublic void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount) {}};当再次获取了数据刷新ListView时,重新设置Adapter
adapter=new Hall2Adapter(AuctionHallHome3.this, AllConstant.Get_getAuctionListByRoom_result);refreshListView.setAdapter(adapter);refreshListView.onRestoreInstanceState(state);
- Android ListView记录上次滑动时位置状态
- Android ListView记录上次滑动时位置状态
- Android ListView 记录滑动位置
- Android让ListView记住上次滑动到的位置
- Android让ListView记住上次滑动到的位置
- listview记住上次滑动的位置
- listview记住上次滑动的位置
- android ListView 精确记录滑动位置
- Android ListView记录和恢复滑动位置
- Android学习札记1:让ListView记住上次滑动到的位置
- 让ListView记住上次滑动到的位置
- Android 记录和恢复ListView和GridView的滑动位置
- PDF 记录上次位置
- 精确记录和恢复ListView滑动位置
- Android学习记录(二十七)--ListView刷新记录滑动位置的实现。
- Android 记录ListView滚动的位置的三种方法及判断是否滑动到底部
- Android ListView的滑动位置,并恢复。
- android listview 滑动到指定位置
- xib加载图片方式
- memcached
- 通过FTP实现vxsim和vxworks主机之间的文件传输
- 编译移植android 2.3到tiny210 .
- 开发总结
- Android ListView记录上次滑动时位置状态
- C# 操作 SQLCE,SQL Server Mobile数据库
- 17行代码的贪吃蛇小游戏
- 在ubuntu10.04成功移植gdbserver及gdbserver使用介绍(用于CCSV5.2远程调试ARM CORTEX-A8程序)
- 惊:盲人学会编程,成为优秀程序员
- pop的编写
- android上传图片至服务器,服务器进行保存
- 一线触摸tslib移植完全说明 .
- .net C# asp.net SMTP 匿名发邮件完整解决方案,有源码.