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()
,以便系统在返回按下行为时正常执行。
我实现了 NavigationDrawer
,当我按下 NavigationDrawer 项目时,会发生 Fragment Transaction
并且项目的背景发生变化以表明它已被选中。现在,当我按 Hardware Back Button
转到上一个片段时,导航抽屉项目的背景仍然存在。当发生“onBackPressed”时,如何更改所选项目以引用当前片段?
提前致谢。
在您的 activity 中,覆盖 public void onBackPressed()
。
为进入视图的每个片段指定一个数字(方便地)对应于导航抽屉项目中的位置。或者保存最后一个片段的位置。然后,当 onBackPressed()
被触发时,从片段的 "position" 或 "id" 或 "tag" 与其导航项目行相关联,您可以使用它来正确着色当前导航项目(很容易将它们全部重置为默认值,并在 "current" 片段中重新着色)。这就是我所说的方法的意思:updateCurrentSelectedItemBackground()
重置背景,为当前项目选择正确的背景并将其余的设置为默认背景。
确保在 onBackPressed()
内完成后调用 super.onBackPressed()
,以便系统在返回按下行为时正常执行。