Android NavigationDrawer-已选择不同组中的项目

Android NavigationDrawer-已选择不同组中的项目,android,navigation-drawer,Android,Navigation Drawer,我对包含两个组的菜单有问题。这种情况是,当我从组2中选择任何项目时,组1中最后选择的项目保持选中/突出显示状态 有没有办法解决这个问题 drawer_view.xml: <menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android:checkableBehavior="single" android:id="@+id/group_1"> <it

我对包含两个组的菜单有问题。这种情况是,当我从
组2
中选择任何项目时,
组1
中最后选择的项目保持选中/突出显示状态

有没有办法解决这个问题

drawer_view.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <group android:checkableBehavior="single" android:id="@+id/group_1">
        <item
            android:id="@+id/leagues_in_progress_item"
            android:icon="@drawable/ic_format_line_spacing_black_48dp"
            android:title="@string/title_activity_leagues_in_progress" />
        <item
            android:id="@+id/last_matches_item"
            android:icon="@drawable/ic_access_alarm_black_48dp"
            android:title="@string/title_activity_last_matches" />

    </group>
    <group android:checkableBehavior="single" android:id="@+id/group_2">
        <item
            android:id="@+id/archive_item"
            android:icon="@drawable/ic_folder_open_black_48dp"
            android:title="@string/title_activity_archive" />
        <item
            android:id="@+id/put_score_item"
            android:icon="@drawable/ic_add_circle_outline_black_48dp"
            android:title="@string/title_activity_put_score" />
    </group>
</menu> 
试试这个:

  private int selectedItem = 0; 

  private void setSelectedItem(MenuItem menuItem, int position) {

          mNavigationView.getMenu().getItem(selectedItem).setChecked(false);
          mNavigationView.getMenu().getItem(position).setChecked(true);

          if (menuItem.getGroupId() == R.id.group_2) {
                    mNavigationView.getMenu().setGroupCheckable(R.id.group_1, false, true);
                    mNavigationView.getMenu().setGroupCheckable(R.id.group_2, true, true);
                } else {
                    mNavigationView.getMenu().setGroupCheckable(R.id.group_1, true, true);
                    mNavigationView.getMenu().setGroupCheckable(R.id.group_2, false, true);
                }
                //Update highlighted item in the navigation menu
                menuItem.setChecked(true);
                selectedItem = position;
    }

您好,看起来即使没有
selectedItem
position
:)它也能工作,但还有一个问题。有可能得到一个组列表吗?然后我将能够更动态地使用
setGroupCheckable
  private int selectedItem = 0; 

  private void setSelectedItem(MenuItem menuItem, int position) {

          mNavigationView.getMenu().getItem(selectedItem).setChecked(false);
          mNavigationView.getMenu().getItem(position).setChecked(true);

          if (menuItem.getGroupId() == R.id.group_2) {
                    mNavigationView.getMenu().setGroupCheckable(R.id.group_1, false, true);
                    mNavigationView.getMenu().setGroupCheckable(R.id.group_2, true, true);
                } else {
                    mNavigationView.getMenu().setGroupCheckable(R.id.group_1, true, true);
                    mNavigationView.getMenu().setGroupCheckable(R.id.group_2, false, true);
                }
                //Update highlighted item in the navigation menu
                menuItem.setChecked(true);
                selectedItem = position;
    }