首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >确定当前在ViewPager中可见的片段

确定当前在ViewPager中可见的片段
EN

Stack Overflow用户
提问于 2013-04-25 17:36:54
回答 1查看 7.5K关注 0票数 8

我有ViewPager,我用它来显示几个片段,我的FragmentActivity上也有TextView。根据当前在TextView中选择的片段,我需要更改ViewPager中的文本。我面临的问题是:ViewPager有一些缓存机制,它在对用户真正可见之前实例化片段,例如当我在第三页上的ViewPager片段中选择第二页时。更重要的是,我无法确定里面的片段是现在可见的,或者它只是由ViewPager创建的,但对于用户来说并不是可见的。我尝试过使用OnPageChangeListener来实现这一点,但是对我来说,对它所做的更改是不可接受的慢(页面滚动,然后我的TextView发生了变化)

我真正需要的:,我需要确定哪个片段在ViewPager中是可见的,无论是从FragmentActivity还是从Fragment本身。我怎样才能做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-25 17:58:27

ViewPager.OnPageChangeListener是这里显而易见的方法。正如您已经注意到的,直到页面居中(如果您通过触摸和坚持慢慢滚动页面),onPageSelected(int position)才会被调用。

我真正需要的是:我需要确定哪个片段目前在ViewPager中是可见的,无论是从FragmentActivity还是从片段本身。我怎样才能做到这一点?

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

话虽如此,我还是会考虑使用onPageScrolled (int position, float positionOffset, int positionOffsetPixels)。看来,positionOffset可能能够提供您所需的信息。我将使用一些日志语句来测试它,以查看数据返回的内容。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16221195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档