底部导航视图中的每个选项卡单击都会重新加载片段

Posted

技术标签:

【中文标题】底部导航视图中的每个选项卡单击都会重新加载片段【英文标题】:Fragment reloads every tab click in Bottom Navigation View 【发布时间】:2020-08-17 09:58:41 【问题描述】:

我用导航控制器实现了一个 BottomNavigationView

BottomNavigationView bottomNavigationView = findViewById(R.id.bottomNavigationView);

NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
NavigationUI.setupWithNavController(bottomNavigationView, navController);

我有 3 个标签: example

这个想法是每次我更改选项卡时都会重新加载每个选项卡的片段。对于第二个选项卡,我将有一个包含许多项目的列表,并且我不希望每次打开该选项卡时都重新加载它。

我不确定实现这一点的程序是什么。

【问题讨论】:

【参考方案1】:

我建议使用ViewPager - 这样可以避免重新加载片段,如果您使用片段事务,通常会发生这种情况。为了给你一个简单的想法,请看一下here(不幸的是它是用 Kotlin 写的,但也许你会得到一个想法)

【讨论】:

我想继续使用导航组件。使用视图寻呼机不会改变实现它的方法吗?

以上是关于底部导航视图中的每个选项卡单击都会重新加载片段的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法阻止底部导航在应用程序存在之前返回到每个访问过的选项卡?

重新创建应用时,片段与底部导航视图图标不匹配

在选择的底部导航视图项目上重新创建片段

如何在 React-Navigation 中单击底部选项卡导航器时打开 DrawerNavigator?

当返回到“导航架构组件”中的同一选项卡时,嵌套片段的状态会丢失

异步任务片段背景数据