viewPager
里面有两个片段。当主片段加载位置权限代码时,第二个片段工作。希望该片段在点击第二个标签时工作。所以我想我需要在选择第二个标签时创建此片段。如何检测并做到这一点?
OurHospitalFragment.kt
viewPager2OurHospital.adapter = adapter
viewPager2OurHospital.offscreenPageLimit = 1
TabLayoutMediator(tabLayoutOurHospital, viewPager2OurHospital) { tab, position ->
when (position) {
0 -> tab.text = getString(R.string.list)
1 -> tab.text = getString(R.string.map)
}
}.attach()
tabLayoutOurHospital.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener {
override fun onTabSelected(tab: TabLayout.Tab?) {
tab?.let {
viewPager2OurHospital.isUserInputEnabled = tab.position != 1
}
}
override fun onTabUnselected(tab: TabLayout.Tab?) {
}
override fun onTabReselected(tab: TabLayout.Tab?) {
}
})
OurHospitalASMViewPagerAdapter.kt
class OurHospitalViewPagerAdapter(fragmentManager: FragmentManager, lifecycle: Lifecycle) :
FragmentStateAdapter(fragmentManager, lifecycle) {
override fun getItemCount(): Int {
return 2
}
override fun createFragment(position: Int): Fragment {
return when (position) {
0 -> HospitalListFragment()
1 -> HospitalMapFragment()
else -> Fragment()
}
}
}
1条答案
按热度按时间u0njafvf1#
我写了这样一行代码:
而不是:
我得到了我想要的。