我已经从ViewPager迁移到ViewPager2
官方指南
但是我发现我的代码在ViewPager的一个页面(片段)中工作,位于onResume中,当我回到托管TabLayout的片段时,没有被执行
如果我更改选项卡,onResume被正确调用。
我正在使用JetPack的导航控制器,其中ViewPager2是第二个片段
viewPager. setOff屏幕PageLimit(tabLlong)
到位,以便一次加载所有选项卡。还有viewPage.isSaveEn的=false
,它在剩余状态下加载片段,保存完好。
尝试过选项卡SelectedListener。但它没有被回调
tabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener {
override fun onTabSelected(tab: TabLayout.Tab) {
// not called on back
}
}
我需要的是触发一个函数调用,只针对ViewPager2的一个特定页面
现在修好了。
我期待着调用内部onResume的一个片段的Viewpage er2(页)。
MyAdapter(fm: FragmentActivity):FragmentStateAdapter(fm){…}
的排列正在到达第二个片段的Resume,其中一个具有ViewPager2适配器。
第二个片段的onResume中的必需活动()
返回FragmentActivity的实例,该实例可以类型转换为持有活动。
这种安排足以让我处理MyAdapter(fm: Fragment)
导致状态保存的最少问题
谢谢你的帮助Andrew