【发布时间】:2020-09-17 16:28:21
【问题描述】:
我正在使用带有底部导航视图的 NavigationUI,并且还使用操作栏进行了设置。
我的应用程序从主片段开始,当我切换到我的搜索片段 OnDestroyView() 时,homeFragment(预期)被调用,但是当我从搜索片段切换回我的主片段时,onDestroy() 被调用并且然后显示homefragment 的一个新实例,而不是它恢复到我离开它的状态的那个实例。如何让它恢复到之前的状态?
这就是我设置 NavigationUI 的方式:
NavController navController = Navigation.findNavController(this,
R.id.navigation_host_fragment);
NavigationUI.setupWithNavController(mainBinding.mainActivityBn, navController);
NavigationUI.setupActionBarWithNavController(this,navController);
我的导航图:
<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_activity_navigation"
app:startDestination="@id/homeFragment">
<fragment
android:id="@+id/homeFragment"
android:name=<name>
android:label="Home"
tools:layout="@layout/fragment_home" />
<fragment
android:id="@+id/serachFragment"
android:name=<name>
android:label="Search"
tools:layout="@layout/fragment_search" />
</navigation>
编辑:我正在使用底部导航视图在片段之间导航。当我按下后退按钮时,主页片段将按之前的状态加载(预期行为)。
【问题讨论】:
-
你如何切换回你的主页片段(通过点击系统返回按钮?通过点击底部导航上的那个项目?)?你能包括你的导航图吗?
-
@ianhanniballake 使用底部导航视图
-
你能包括你的导航图吗?
-
澄清一下,当您点击系统返回按钮时,您是否看到了不同的行为?
-
是的@ianhanniballake 后退按钮显示主页片段而不重新加载它。当我也点击底部导航上的主页时,这就是我想要做的事情
标签: android android-fragments bottomnavigationview android-navigation