gpt4 book ai didi

android - 确定哪个 fragment 当前在 ViewPager 中可见

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:51:03 27 4
gpt4 key购买 nike

我有 ViewPager,我用它来显示一些 fragment ,我的 FragmentActivity 上也有 TextView。我需要更改 TextView 中的文本,具体取决于当前在 ViewPager 中选择的 fragment 。我遇到的问题:ViewPager 有一些缓存机制,它在 fragment 对用户真正可见之前实例化 fragment ,例如当我在第三个 ViewPager fragment 中选择第二页时页面也已创建。更重要的是,我无法确定内部 fragment 是现在可见的 fragment ,还是它只是由 ViewPager 创建的,但对用户来说并不真正可见。我尝试为此使用 OnPageChangeListener,但其中所做的更改对我来说太慢了(页面滚动,然后我的 TextView 已更改)

我实际需要的:我需要确定哪个 fragment 当前在 ViewPager 中可见,无论是来自 FragmentActivity 还是来自 Fragment本身。我怎样才能做到这一点?

最佳答案

ViewPager.OnPageChangeListener 是这里显而易见的方法。正如您所注意到的,onPageSelected(int position) 在页面居中之前不会被调用(如果您通过触摸并按住缓慢滚动页面)。

What I actually need: I need to determine which fragment is currently visible in ViewPager, no matter from FragmentActivity or from Fragment itself. How can I achieve this?

首先,您还没有定义“当前可见”。在 ViewPager 中,在 2 个页面之间滑动时都可以看到它们,那么在滑动过程中哪个页面“当前可见”?我的假设是您会认为哪个页面“更可见”为“当前可见”。

话虽如此,我会考虑使用 onPageScrolled (int position, float positionOffset, int positionOffsetPixels) . positionOffset 似乎可以为您提供所需的信息。我会用一些日志记录语句对其进行测试,以查看返回的数据。

关于android - 确定哪个 fragment 当前在 ViewPager 中可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16221195/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com