保持ListView的滚动位置
跳转到其它Activity,又退回到ListView所在Activity时,如何保持ListView的滚动位置?
使用ListView时,经常会有有这样场景:
- 点击ListView中一个Item,跳转到到另外一个显示详情的Activity。
- 关闭详情Activity时,又回到ListView界面
问题是,如何才能让ListView保持在跳转前的位置?
解决方法:
在Activity中定义两个变量
private int mPosition;
private int mTop;
在 onPause 中为变量赋值
mPosition = mListView.getFirstVisiblePosition();
View first = mListView.getChildAt(0);
mTop = (first == null) ? 0 : first.getTop();
在 onResume 利用保存的值将ListView恢复到跳转前的位置
mListView.setSelectionFromTop(mPosition, mTop);
声明: 本文采用 CC BY-NC-SA 3.0 协议进行授权,转载请注明出处。