ViewPager2在单击选项卡上没有加载片段,而是在刷卡上。
我正在使用tablayout的ViewPager2。最初,一切都很好。即滑动和单击选项卡,加载正确的片段。说我有3个片段选项卡A,选项卡B和选项卡。我需要从选项卡B中打开其他片段,例如打开tab b1。打开tab b1,在按下返回按钮时,它将返回到选项卡。现在,当我单击选项卡时, A,它会刺激Taba,但是TabA的片段未加载。但是,如果我们滑动,它的工作正常。以下是我的ViewPager代码。
ViewPager代码
private val fragmentList = arrayListOf<BaseMvvmFragment<*, *>>(
TabAFragment(),
TabBFragment(),
TabCFragment(),
TabDFragment(),
)
private fun setupPager() {
val adapter = ViewPagerAdapter(
fragmentList,
childFragmentManager,
lifecycle
)
binding.mainViewPager.adapter = adapter
TabLayoutMediator(binding.pageIndicator, binding.mainViewPager) { tab, position ->
fragmentList[position].titleRes?.let {
tab.text = getString(it)
}
}.attach()
binding.mainViewPager.setCurrentItem(
fragmentList.indexOfFirst { it is TabAFragment },
false
)
}
无法弄清楚发生了什么。有人可以帮忙吗?
I am using ViewPager2 with Tablayout . Initially everything works fine. ie, both swipe and clicking on Tab ,loads the correct fragment. Say I have 3 fragments Tab A, Tab B and Tab C. I need to open other fragments from Tab B ,say Tab B1.Tab B1 is opened and on pressing back button it goes back to Tab B. Now when I click on Tab A, it higlights TabA, but the fragment for Tab A is not loaded. But if we swipe, its working properly . Below is my Viewpager code.
ViewPager code
private val fragmentList = arrayListOf<BaseMvvmFragment<*, *>>(
TabAFragment(),
TabBFragment(),
TabCFragment(),
TabDFragment(),
)
private fun setupPager() {
val adapter = ViewPagerAdapter(
fragmentList,
childFragmentManager,
lifecycle
)
binding.mainViewPager.adapter = adapter
TabLayoutMediator(binding.pageIndicator, binding.mainViewPager) { tab, position ->
fragmentList[position].titleRes?.let {
tab.text = getString(it)
}
}.attach()
binding.mainViewPager.setCurrentItem(
fragmentList.indexOfFirst { it is TabAFragment },
false
)
}
Not able to figure out what's happening. Could someone help ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在我的情况下,通过添加
viewPager2.SetOffScreenPageLimit(3);
:在Kotlin:in Kotlin:
In my case solved by adding
viewpager2.setOffscreenPageLimit(3);
:In Kotlin: