如何在ViewPager片段刷出后重置垂直滚动?

时间:2016-11-19 03:48:12

标签: android android-fragments android-viewpager

我的项目中有ViewPager,其中包含从数据库加载的一些文章。

根据每篇文章的篇幅,用户必须向下滚动ScrollView内部片段布局才能读取。

当用户滑动到下一个片段(文章)然后回到上一个片段(文章)时,它会显示该文章在最后一个垂直滚动位置;但是我需要在片段滑出时将垂直滚动位置重置为顶部。

我尝试了OnPageChangeListener()方法来处理它,但是我失败了,因为例如onPageScrolled在用户开始滑动时重置滚动,而我需要它在(上一个)片段滑出后发生。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

覆盖片段中的setUserVisibleHint方法:

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
   if (isVisibleToUser && isResumed()) {
       scrollview.smoothScrollTo(0,0);
   }
}