繁体   English   中英

清除ViewPager片段后如何重置垂直滚动?

[英]How to reset vertical scroll after ViewPager fragment swiped out?

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

根据每篇文章的长度,用户必须向下ScrollView片段布局内部的ScrollView才能阅读。

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

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

我该怎么做?

在您的片段中重写setUserVisibleHint方法:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM