NavigationView,一种取消选中以前选择的方法?

时间:2016-02-15 12:08:48

标签: android layout navigation navigation-drawer

昨天我按照2个教程来实现抽屉的NavigationView组件,而不是使用ListView。由于它更聪明,我想知道是否有一种综合方式来跟踪选择哪个项目,当你选择一个新项目时,旧的选择被删除了?

或者我们应该实施那个逻辑吗?我应该只保留2个整数与所选元素的ID,一个oldSelection和一个newSelection并取消选中旧的?

欢迎提出建议,谢谢!

教程:

http://www.viralandroid.com/2015/08/android-navigation-drawer-view.html https://github.com/codepath/android_guides/wiki/Fragment-Navigation-Drawer

2 个答案:

答案 0 :(得分:2)

NavigationView为您做到这一点,每当您选择新项目时,旧项目将被删除并且选择新项目。

注意:

如果你添加任何

,这对subMenu不起作用

答案 1 :(得分:1)

尝试添加“menuItem.setChecked(true);”在“setNavigationItemSelectedListener”中:

navigationView.setNavigationItemSelectedListener(
                new NavigationView.OnNavigationItemSelectedListener() {
                    @Override
                    public boolean onNavigationItemSelected(MenuItem menuItem) {

                        displayView(menuItem);

                        menuItem.setChecked(true);
                        drawerLayout.closeDrawers();
                        return true;
                    }
                });