我的项目中有ViewPager
,其中包含从数据库加载的一些文章。
根据每篇文章的篇幅,用户必须向下滚动ScrollView
内部片段布局才能读取。
当用户滑动到下一个片段(文章)然后回到上一个片段(文章)时,它会显示该文章在最后一个垂直滚动位置;但是我需要在片段滑出时将垂直滚动位置重置为顶部。
我尝试了OnPageChangeListener()
方法来处理它,但是我失败了,因为例如onPageScrolled
在用户开始滑动时重置滚动,而我需要它在(上一个)片段滑出后发生。
我该怎么做?
答案 0 :(得分:0)
覆盖片段中的setUserVisibleHint
方法:
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser && isResumed()) {
scrollview.smoothScrollTo(0,0);
}
}