Android: 如何更改导航抽屉中的选中项onBackPressed()?

Android: How to change the selected item in Navigation Drawer onBackPressed()?

我实现了 NavigationDrawer,当我按下 NavigationDrawer 项目时,会发生 Fragment Transaction 并且项目的背景发生变化以表明它已被选中。现在,当我按 Hardware Back Button 转到上一个片段时,导航抽屉项目的背景仍然存在。当发生“onBackPressed”时,如何更改所选项目以引用当前片段?

提前致谢。

在您的 activity 中,覆盖 public void onBackPressed()

为进入视图的每个片段指定一个数字(方便地)对应于导航抽屉项目中的位置。或者保存最后一个片段的位置。然后,当 onBackPressed() 被触发时,从片段的 "position" 或 "id" 或 "tag" 与其导航项目行相关联,您可以使用它来正确着色当前导航项目(很容易将它们全部重置为默认值,并在 "current" 片段中重新着色)。这就是我所说的方法的意思:updateCurrentSelectedItemBackground() 重置背景,为当前项目选择正确的背景并将其余的设置为默认背景。

确保在 onBackPressed() 内完成后调用 super.onBackPressed(),以便系统在返回按下行为时正常执行。