View Pager 控制的初始页面收不到 onPageSelected 事件

在 Android 里,使用 ViewPager(或者更新一点的 ViewPager2)管理多个页面切换是常规技术方案,在实践中发现,当首次显示时,选定的页面并不会触发设置好的 OnPageChangeCallback 回调对象的 onPageSelected 方法。

这个问题应该是由来已久,网络上也有对这个问题的讨论,例如这里:https://stackoverflow.com/questions/11794269/onpageselected-isnt-triggered-when-calling-setcurrentitem0/28318975。这个情况是一种设计时的取舍的结果,不能完全算作 bug,毕竟严格说来,第一个 page 的展示,跟后续明确的由用户操作/行为触发的其它 page 的被选中就是不一样的。

看完大家的讨论,老夫选择了自己触发第一次的事件回调,来完成想要做的工作。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注