提问者:小点点

onResume未在ViewPager2(页面/片段)中调用


我已经从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的一个特定页面


共1个答案

匿名用户

现在修好了。

我期待着调用内部onResume的一个片段的Viewpage er2(页)。

MyAdapter(fm: FragmentActivity):FragmentStateAdapter(fm){…}的排列正在到达第二个片段的Resume,其中一个具有ViewPager2适配器。

第二个片段的onResume中的必需活动()返回FragmentActivity的实例,该实例可以类型转换为持有活动。

这种安排足以让我处理MyAdapter(fm: Fragment)导致状态保存的最少问题

谢谢你的帮助Andrew