【发布时间】:2015-06-26 00:23:27
【问题描述】:
我真的不知道为什么,但是使用新的android.support.design.widget.NavigationView 我遇到了问题。我能够使用需要的片段创建正确的抽屉,并且在我的抽屉菜单.xml 中有这个:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="@+id/main_item"
android:icon="@mipmap/ic_main"
android:title="@string/main"
/>
<item
android:checked="true"
android:id="@+id/second_item"
android:icon="@mipmap/ic_playlist_add_black_24dp"
android:title="@string/app_list"
/>
</group>
</menu>
这里是菜单的 java 部分:
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
@IdRes int id = menuItem.getItemId();
if(id == mCurrentMenuItem) {
mDrawerLayout.closeDrawers();
return false;
}
switch (id){
case R.id.main_item:
setNewRootFragment(MainFragment.newInstance());
break;
case R.id.second_item:
setNewRootFragment(SecondFragment.newInstance());
break;
}
mCurrentMenuItem = id;
menuItem.setChecked(true);
return false;
}
当应用程序启动 Fragment 时,我首先看到它是正确的,但在抽屉列表中选择了第二个。怎么可能?
【问题讨论】:
-
作为 ianhanniballake 的答案,您设置了 checked='true' 使其为假或删除该行 ..
标签: java android android-fragments navigation-drawer navigationview