The*_*Bat 10 android android-menu android-activity navigation-drawer
我的导航抽屉一直显示最后选择的项目.有没有办法删除它.我想如果用户在主页,导航抽屉项目应该不突出显示.
我试过了
drawer.setSelected(false);
Run Code Online (Sandbox Code Playgroud)
在onResume()中.但它没有帮助.
请参考随附的截图,这将有助于理解.
oiy*_*yio 20
除上述解决方案外,如果drawer_view.xml文件中的group元素包含以下属性,
android:checkableBehavior="single"
Run Code Online (Sandbox Code Playgroud)
如下例所示:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single" >
<item
... />
<item
... />
</group>
</menu>
Run Code Online (Sandbox Code Playgroud)
以上解决方案均无效.因此,如果您不想要该突出显示功能,请确保不使用该属性.
我用
@Override
protected void onResume() {
super.onResume();
for (int i = 0; i < navigationView.getMenu().size(); i++) {
navigationView.getMenu().getItem(i).setChecked(false);
}
}
Run Code Online (Sandbox Code Playgroud)
如果不起作用,还要添加:
itemOfMenu.setChecked(false);
到onNavigationItemSelected覆盖结束.
使用下面的代码:
navigationView.getMenu().getItem(0).setChecked(false);
Run Code Online (Sandbox Code Playgroud)
调用后调用此方法 setNavDrawer();
该getItem(int index)方法得到的MenuItem,那么你可以调用setChecked(true);上MenuItem,你剩下要做的一切都是为了找出哪些元素索引是否有预设,以及与指数代替0。
您可以通过调用来选择(突出显示)该项目:
onNavigationItemSelected(navigationView.getMenu().getItem(0));
Run Code Online (Sandbox Code Playgroud)
注意:对于 nexus 4,支持库版本 24.0.0。我推荐使用
navigationView.setCheckedItem(id);
| 归档时间: |
|
| 查看次数: |
10094 次 |
| 最近记录: |