0

在我的應用程序中,我有一個滑動菜單。Android滑動菜單選項無法選擇

我activity.xml看起來像這樣:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/drawer_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:openDrawer="start"> 
    <include 
     layout="@layout/app_bar_main" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 
    <android.support.design.widget.NavigationView 
     android:id="@+id/nav_view" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:fitsSystemWindows="true" 
     app:headerLayout="@layout/nav_header_main" 
     app:menu="@menu/sliding_menu_options" /> 
</android.support.v4.widget.DrawerLayout> 

的sliding_menu_options.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/nav_home" 
      android:icon="@drawable/ic_home_black" 
      android:title="@string/home"/> 
     <item 
      android:id="@+id/nav_recently" 
      android:icon="@drawable/ic_file_upload" 
      android:title="@string/recent"/> 
    </group> 

    <group 
     android:checkableBehavior="single"> 
     <item 
      android:id="@+id/otherItem" 
      android:title="Other"> 
      <menu> 
       <item 
        android:id="@+id/nav_about_us" 
        android:icon="@drawable/ic_info_black" 
        android:title="@string/about"/> 
       <item 
        android:id="@+id/nav_licences" 
        android:icon="@drawable/ic_description_black" 
        android:title="@string/licences"/> 
      </menu> 
     </item> 
    </group> 
</menu> 

此圖爲我用我的slidin菜單教程和這兩個團體應該如何大致看起來像。 Other應該像在標題或描述爲第二組:

enter image description here

當用戶選擇的四個選項中的一個,我想作爲託運標記的滑動菜單的選項。對於前兩個選項時,它正常工作與這段代碼:

navigationView = (NavigationView) findViewById(R.id.nav_view); 
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() { 

      // This method will trigger on item Click of navigation menu 
      @Override 
      public boolean onNavigationItemSelected(MenuItem menuItem) { 

       navigationView.getMenu().findItem(menuItem.getItemId()).setChecked(true); 

       return true; 
      } 
     }); 

Unfortuantely菜單withing NavigationView只包含兩個項目(nav_homenav_recently),而不是全部四個。所以它不適用於nav_about_usnav_licences將它們標記爲已檢查。

如何在仍有兩組時檢查另外兩個選項?

回答

1

看起來ike在sliding_menu_options.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/nav_home" 
      android:icon="@drawable/ic_home_black" 
      android:title="@string/home"/> 
     <item 
      android:id="@+id/nav_recently" 
      android:icon="@drawable/ic_file_upload" 
      android:title="@string/recent"/> 
    </group> 

<item 
      android:id="@+id/otherItem" 
      android:title="Other"> 
</item> 

    <group 
     android:checkableBehavior="single"> 

       <item 
        android:id="@+id/nav_about_us" 
        android:icon="@drawable/ic_info_black" 
        android:title="@string/about"/> 
       <item 
        android:id="@+id/nav_licences" 
        android:icon="@drawable/ic_description_black" 
        android:title="@string/licences"/> 


    </group> 
</menu> 
+0

其他項目應該是類似下一組的「標題」。我在 – joshi737

+0

之上添加了屏幕截圖要將其他項目顯示爲「標題」,您可以在onCreateOptionsMenu()方法內更改其他項目的文本顏色。 –

+0

但其他將可點擊 – joshi737