好的,行为或我的NavigationView有效。我点击设置,它就在那里。我点击我的第一个项目,它做了应有的事情。我点击第二个项目,它会做它应该做的事情。
但是,我的问题在于选择状态。我会点击一个项目,它不会选择它。唯一有效的选择是我的设置菜单。当我点击该项目时,设置菜单将被选中,以及我点击的所有先前项目。
On App Load
On App Load
On App Load
On App Load
On App Load
navigation.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/movie_heading"
android:title="Movies"
android:enabled="false">
<menu
android:id="@+id/navigationGroupMovies"
android:checkableBehavior="single">
<item
android:id="@+id/navigationOnline"
android:icon="@drawable/ic_movie_creation_white_24dp"
android:title="Find Online"
android:checkable="true"/>
<item
android:id="@+id/navigationMyCollection"
android:icon="@drawable/abc_btn_rating_star_on_mtrl_alpha"
android:title="My Collections"
android:checkable="true"/>
</menu>
</item>
<group
android:id="@+id/navigationGroupSetting"
android:checkableBehavior="single">
<item
android:id="@+id/navigationSetting"
android:icon="@drawable/ic_settings_white_24dp"
android:title="Settings" />
</group>
</menu>
state_navigation_text.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true"
android:color="@color/accent" />
<item android:state_focused="true"
android:color="@color/primary"/>
<item android:color="@color/primary_dark" />
</selector>
点击导航项目时
@Override
public boolean onNavigationItemSelected(MenuItem item) {
item.setChecked(true);
switch (item.getItemId()) {
case R.id.navigationSetting:
startActivity(new Intent(this, SettingsActivity.class));
break;
case R.id.navigationOnline: setCurrentTabs(API.WEB_GROUP); break;
case R.id.navigationMyCollection: setCurrentTabs(API.OFFLINE_GROUP); break;
default: // Do nothing
}
closeDrawer();
return true;
}