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

时间:2015-04-06 15:11:41

标签: android android-fragments navigation-drawer navigationitem

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

提前致谢。

1 个答案:

答案 0 :(得分:1)

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

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

确保在super.onBackPressed()内完成后调用onBackPressed(),以便系统在后退行为中正常运行。