【发布时间】:2020-08-30 13:19:47
【问题描述】:
我在我的 Android 应用程序中使用导航组件,它会自动为我提供后退和向上导航。现在我不想更改任何这些行为,但我想添加一些特定于用户按下工具栏中的向上按钮或后退按钮的片段的日志记录。
我试过this,它只对后退按钮有效,我不知道如何保持默认导航行为不变。另外,这似乎在活动级别添加了一个回调,因此它并不特定于我添加回调的片段。
似乎 onOptionsItemSelected 是为普通菜单项调用的,但不是为向上按钮调用的。
如何在不改变整个应用程序行为的情况下始终如一地处理这个问题?
【问题讨论】:
-
请检查我的回答是否符合您的预期。
-
您只想检查后退或向上按钮的点击,还是可以更通用地检测后退堆栈上的弹出?
-
您是要记录一个特定片段或图表中所有目的地的向上和返回按钮吗?您到底在记录什么,为什么只记录您想要记录的内容(相对于所有导航事件)?您需要区分 back 和 up 吗?
-
我想记录用户尝试打开新全屏片段的操作,然后通过弹出堆栈取消,他可以通过点击后退按钮或向上箭头来完成由导航组件管理。我不在乎它是恢复还是启动,这是我感兴趣的流行音乐,但我确实关心这个流行音乐在导航图中发生的位置,因为我想记录它发生的位置。
标签: android kotlin navigation