Android listView scroll 恢复滚动位置
2013-09-27 19:28
513 查看
相信大家尝试过许多方法恢复滚动位置,本人也找了许多方法,唯有这个方法好用,下面把代码贴出来
声明两个变量
pause , resume方法
listview 的监听事件
声明两个变量
private int mPosition; private int lvChildTop;
pause , resume方法
@Override public void onPause() { // TODO Auto-generated method stub super.onPause(); SharedPreferences mySharedPreferences = activity.getSharedPreferences(MY_PREFS, Activity.MODE_PRIVATE); SharedPreferences.Editor edit = mySharedPreferences.edit(); edit.putInt("mPositionChildTop", lvChildTop); edit.putInt("mPosition", mPosition); edit.commit(); } @Override public void onResume() { // TODO Auto-generated method stub super.onResume(); SharedPreferences mySharedPreferences = activity.getSharedPreferences(MY_PREFS, Activity.MODE_PRIVATE); // MY_PREFES 是声明的字符串 lvChildTop = mySharedPreferences.getInt("mPositionChildTop", 0); mPosition = mySharedPreferences.getInt("mPosition", 0); listMessage.setSelectionFromTop(mPosition, lvChildTop); // listMessage 是listview , }
listview 的监听事件
private OnScrollListener lvScrollListener = new OnScrollListener() { @Override public void onScrollStateChanged(AbsListView view, int scrollState) { // TODO Auto-generated method stub // 不滚动时保存当前滚动到的位置 if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) { mPosition = listMessage.getFirstVisiblePosition(); View v = listMessage.getChildAt(0); lvChildTop = (v == null) ? 0 : v.getTop(); } } @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { // TODO Auto-generated method stub } };
相关文章推荐
- Android listView scroll 恢复滚动位置
- Android 记录和恢复ListView滚动的位置的三种方法
- Android 记录和恢复ListView滚动的位置的三种方法
- Android--记录和恢复listView滚动位置的3种方法
- Android 记录和恢复ListView滚动的位置的两种方法
- Android 记录和恢复ListView滚动的位置的三种方法
- android记录和恢复ListView滚动的位置
- android记录和恢复ListView滚动的位置
- Android 记录和恢复ListView滚动的位置的三种方法
- Android 记录和恢复ListView滚动的位置的三种方法
- Android 记录和恢复ListView滚动的位置的两种方法
- 转载:Android 记录和恢复ListView滚动的位置的三种方法
- Android--记录和恢复listView滚动位置的3种方法
- Android 记录和恢复ListView滚动的位置的三种方法
- Android简单记录和恢复ListView滚动位置的方法
- Android 记录和恢复ListView滚动的位置的方法
- Android 记录和恢复ListView滚动的位置的三种方法
- android 记录和恢复ListView滚动的位置 四种方法
- Android 记录和恢复ListView滚动的位置的三种方法(转)
- Android--记录和恢复listView滚动位置的3种方法 (20