单击工具栏后退按钮,将其替换为默认图标半秒钟

问题描述

我正在尝试像这样替换工具栏上的认后退按钮图标:

toolbar.navigationIcon = R.drawable.lalala

很好,并且可以正常工作。但是,当我尝试单击“后退”按钮时,半秒钟我可以看到认图标而不是我的图标。我该怎么办?

我正在使用片段和JetPack导航。

解决方法

由于使用的是导航组件,因此预期的行为是在非根目录目标上时显示的“向上”按钮。
您可以在设置方法后使用addOnDestinationChangedListener进行更改。

类似的东西:

navController.addOnDestinationChangedListener { _,destination,_ ->
   if(destination.id == R.id.xxxx) {
       toolbar.setNavigationIcon(R.drawable.xxxx)
   } else {
       //
   }
}