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

Toolbar back button replaced for default icon for a half second when clicking on it

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

toolbar.navigationIcon = R.drawable.lalala

没问题,而且可以正常工作。但是,当我尝试单击后退按钮时,有半秒钟我可以看到默认图标而不是我的图标。我做错了什么?

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

由于您使用的是导航组件,因此预期的行为是当您位于 non-root 目的地时显示向上按钮。
您可以在设置方法后使用 addOnDestinationChangedListener 更改它。

类似于:

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