结合使用 android jetpack导航和工具栏和抽屉,是根目录有一个汉堡菜单图标(用于切换抽屉),而在子片段中有一个后退按钮。
打开/关闭后退箭头上的子片段时,还会存在动画。
现在是问题:在我的一个孩子片段中,我设置了一个自定义导航后退按钮
toolbar_main.setNavigationIcon(R.drawable.ic_clear)
这也可以,但是关闭时出现“小故障”,其中
问题:
这是“小故障”错误还是我必须调用 setNavigationIcon 以外的其他名称(例如ActionBarDrawerToggle或类似名称)?
答案 0 :(得分:0)
解决方案:在每个片段中
override fun onAttach(context: Context) {
super.onAttach(context)
val activity = context as BaseActivity
if (navController.backStack.size > 3) {
activity.toolbar.setNavigationIcon(getNavigationIcon())
}
}
大于3,因为:
<navigation
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/navigation"
app:startDestination="@+id/startFragment"> <----- always +1
<fragment
android:id="@+id/startFragment"> <----- startFragment + 1 = 2
<fragment
android:id="@+id/fragment_1"> <----- startFragment + 1 = 3
<fragment
android:id="@+id/fragment_2"> <----- startFragment + 1 = 3
</navigation>