在viewpager片段上维护Scroll position listview

时间:2015-03-14 14:46:48

标签: android android-fragments android-listview

我正在尝试在ViewPager

中的片段内维护ListView的滚动位置
  

问题:在ViewPager中加载Fragment之前调用onCreateViewonResume方法,因此我也尝试使用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.topConstant.index是全局常量。

我需要一个可以弄清楚这种行为的方向。

0 个答案:

没有答案