我已使用ViewPager
显示少量片段,我的FragmentActivity
上也有TextView
。我需要更改TextView
中的文本,具体取决于ViewPager
中当前选择哪个片段。我遇到的问题:ViewPager
有一些缓存机制,它在用户真正可见之前实例化片段,例如当我在第三个页面上选择ViewPager
片段中的第二个页面时也会创建。什么是我不能确定里面的片段是这个片段现在可见或它只是由ViewPager
创建,但不是真正可见的用户。我tryed使用OnPageChangeListener
这一点,但它所做的更改是不可接受的慢,我(页面滚动,然后我TextView
已经改变)
我真的需要:我需要确定哪些片段是目前可见ViewPager
,无论是从FragmentActivity
还是从Fragment
本身。我怎样才能做到这一点?确定当前在ViewPager中可见的片段
8
A
回答
7
ViewPager.OnPageChangeListener
这里是明显的方法。正如你已经注意到,onPageSelected(int position)
不会被调用,直到页面居中(如果你慢慢地通过触摸滚动页面,并保持)。
我真的需要:我需要确定哪个片段当前在ViewPager中可见,无论是从FragmentActivity还是从片段本身。我怎样才能做到这一点?
首先,您还没有定义“当前可见”。在ViewPager
中,可以在两个页面之间滑动时看到两个页面,那么哪一个页面在中间滑动时是“当前可见的”?我的假设是,你会考虑哪个页面“更明显”是“目前可见”。
说了这话,我会考虑使用onPageScrolled (int position, float positionOffset, int positionOffsetPixels)
。看起来positionOffset
可能能够为您提供所需的信息。我会用一些日志语句来测试它,以查看返回的数据。
相关问题
- 1. 确定当前片段前的片段
- 2. 如何确定自定义视图当前是否在ViewPager中可见
- 3. 获取当前可见片段Android
- 4. 是否可以访问ViewPager正在查看的当前片段?
- 5. ViewPager:定义片段本身是否被选中/可见
- 6. 如何在viewpager中获取当前显示的片段
- 7. 防止FloatingActionButton在CoordinatorLayout,ViewPager中变为可见片段
- 8. 当viewpager中的片段对用户可见时显示工具提示
- 9. 片段当前不在FragmentManager中,同时通知viewpager
- 10. ViewPager disapear当片段移动
- 11. 从活动中获取当前可见片段
- 12. 片段在ViewPager中的ActionBar
- 13. 家庭片段部分可见与当前片段的混合视图android studio
- 14. 在ViewPager上可见片段时启动动画
- 15. 如何获得片段对象在当前位置ViewPager
- 16. 在scrollview中滚动ViewPager中的一个片段与软键盘可见
- 17. 在ViewPager中替换片段
- 18. Android viewpager片段
- 19. ViewPager片段
- 20. 查看Android中的viewpager和tablayout片段中的可见性检查
- 21. ViewPager中的片段显示
- 22. 片段内的ViewPager
- 23. 当前在RecyclerView中的可见项目
- 24. 确定当前屏幕是否有可见的导航栏
- 25. 活动ActionBar在片段中不可见
- 26. 如何在viewpager片段中托管viewpager的片段获取活动上下文?
- 27. 在viewpager的片段中显示地图
- 28. 片段事务后片段在活动布局中不可见。
- 29. android - ViewPager在片段活动
- 30. Android保留片段在ViewPager