【发布时间】:2024-01-15 07:31:01
【问题描述】:
应用程序的导航通过BottomNavigationView 进行。
在第一个位置,我有一个片段,它有导航到另一个片段的按钮。它第一次加载并显示所有内容。然后,我再次单击BotttomNavView 上的第一个位置,我们回到父片段(绑定到BottomNavigationView 的第一个位置)。但是从这一点来说,如果我点击按钮并打开fragment,它总是空白。
这是我的片段管理的样子:
fun navigateTo(
context: Context,
fragment: BaseFragment,
navigatable: Navigatable,
addToBackStack: Boolean
) {
val activity = ContextUtil.getActivityFromContext(context)
val tag = fragment.javaClass.toString()
val fragmentManager = (activity as BaseActivity).supportFragmentManager
val transaction = fragmentManager.beginTransaction()
if (fragmentManager.findFragmentByTag(fragment.javaClass.toString()) == null) {
transaction.add(R.id.container, fragment, tag).hide(fragment)
}
val activeFragment = findVisibleFragment(context)
transaction
.apply {
if (activeFragment != null) {
hide(activeFragment)
}
}
.show(fragment)
.apply {
if (addToBackStack) {
this.addToBackStack(tag)
}
}
.commit()
navigatable.afterScreenTransition(fragment).invoke()
}
我做了一个实验,发现onAttach()在我的pager fragment中被调用了,但是所有的视图都是空的,onCreateView()没有被调用。
【问题讨论】:
标签: android kotlin android-viewpager fragment