我正在尝试在ViewPager
中的片段内维护ListView的滚动位置问题:在ViewPager中加载Fragment之前调用
onCreateView
和onResume
方法,因此我也尝试使用setUserVisibleHint
但仍然是我的ViewPager片段没有恢复ListView滚动位置。
代码:
@Override
public void onPause() {
super.onPause();
Log.d(TAG, "inside onPause");
Constant.index = mExamsListView.getFirstVisiblePosition();
View v = mExamsListView.getChildAt(0);
Constant.top = (v == null) ? 0 : (v.getTop() - mExamsListView
.getPaddingTop());
}
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
Log.d(TAG, "inside setUserVisibleHint");
Log.d(TAG, "inside setUserVisibleHint : Constant.index = "
+ Constant.index + " Constant.top = " + Constant.top);
if (null != mExamsListView)
mExamsListView.setSelectionFromTop(Constant.index, Constant.top);
}
Constant.top
和Constant.index
是全局常量。
我需要一个可以弄清楚这种行为的方向。