第一项高亮显示,其余无法高亮显示:
这是我的背景选择器:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/accent_translucent" android:state_pressed="true"/>
<item android:drawable="@android:color/transparent"/>
我试过了
onNavigationItemSelected(navigationView.getMenu().getItem(0));
onNavigationItemSelected(navigationView.getMenu().findItem(R.id.nav_profile));
navigationView.setCheckedItem(id);
似乎没有任何效果
<?xml version="1.0" encoding="utf-8"?>
<group
android:checkableBehavior="single">
<item
android:id="@+id/drawer_main"
android:checked="true"
android:icon="@drawable/ic_home_black_24dp"
android:title="@string/dashboard"/>
<item
android:id="@+id/drawer_profile"
android:icon="@drawable/ic_favorite_black_24dp"
android:title="@string/profile"/>
<item
android:id="@+id/drawer_third"
android:icon="@drawable/ic_file_download_black_24dp"
android:title="@string/leaderboard"/>
<item
android:id="@+id/drawer_fourt"
android:icon="@drawable/ic_more_horiz_black_24dp"
android:title="@string/notification"/>
<item
android:id="@+id/drawer_fifth"
android:icon="@drawable/ic_settings_black_24dp"
android:title="@string/logout"/>
</group>
navigationView = (NavigationView) findViewById(R.id.navigation_view);
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
int id = menuItem.getItemId();
switch (id) {
case R.id.drawer_dashboard:
Intent i = new Intent(getApplicationContext(), MainActivity.class);
startActivity(i);
break;
case R.id.drawer_profile:
Intent j = new Intent(getApplicationContext(), secondActivity.class);
startActivity(j);
break;
任何想法都会有帮助
如果我使用下面的代码我可以突出显示但无法开始新的 Activity
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
int id = menuItem.getItemId();
menuItem.setChecked(true);
drawerLayout.closeDrawers();
return true;
最佳答案
创建 View 时,请尝试使用getItem(int index)方法获取所有MenuItem,然后调用setCheckable(true),确保它是可检查的。
关于Android抽屉导航菜单项无法突出显示所选项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37924271/