android – 当片段恢复重新创建时,ViewPager getScrollX返回0

android – 当片段恢复重新创建时,ViewPager getScrollX返回0,第1张

概述我正在尝试创建一个Velocity View Pager,在其中我可以滚动浏览页面,如图库视图.我在进行滚动计算时遇到问题.我正在为ViewPager使用FragmentStatePagerAdapter.对于正常的第一次运行,事情很酷,getScrollBy返回实际滚动位置,第一个元素为0.即如果我在第3页,getScrollX返回2400(每页800px),依此类推. 当我从backstack 我正在尝试创建一个VeLocity VIEw Pager,在其中我可以滚动浏览页面,如图库视图.我在进行滚动计算时遇到问题.我正在为VIEwPager使用FragmentStatePagerAdapter.对于正常的第一次运行,事情很酷,getScrollBy返回实际滚动位置,第一个元素为0.即如果我在第3页,getScrollX返回2400(每页800px),依此类推.

当我从backstack获得简历后获得托管vIEwpager的片段时出现问题.这次我的第3页变为0,我的第一页变为-2400位置.一些如何当android重新定义适配器时它将当前位置视为0.我已经尝试了使用setCurrentItem的所有排序.有些我觉得computeScroll不起作用.

如果任何人都可以建议如何让getScrollX返回位置,考虑start为0而不是新膨胀的当前位置,那将是很好的.

另外,每次我恢复时,我都没有选择创建新片段.

解决方法 你知道目前的位置,对吧?我使用VIEwPager.getWIDth()将当前位置乘以VIEwPager的宽度.由于2400是以像素为单位,因此您可以使用getWIDth()中的宽度(以像素为单位)来确定位置.

需要注意的一件事是确保在视图膨胀和测量后使用getWIDth()值,否则它将为宽度返回零.

总结

以上是内存溢出为你收集整理的android – 当片段恢复/重新创建时,ViewPager getScrollX返回0全部内容,希望文章能够帮你解决android – 当片段恢复/重新创建时,ViewPager getScrollX返回0所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1125226.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存