2

自分のナビゲーションドロワーは最後に選択したアイテムを表示し続けます。削除する方法はありますか。ユーザーがホームページにある場合、ナビゲーションドロワーアイテムはハイライト表示されません。ナビゲーション引き出しアイテムが選択されたままになっています。

I)は、(onResumeに

drawer.setSelected(false); 

を試してみました。しかし、それは助けにはならない。

添付のスクリーンショットを参照してください、それは理解するのに役立ちます。

See the seetings options is highlighted even when I have come back from Settings activity

+0

これをクリックすると、引き出しが閉じられているかどうかを確認します。 xmlとコードを共有できます – Nikhil

+0

クリックしたときにこれらの項目に対して設定した操作はありますか? – RamithDR

答えて

2

以下のコードを使用します。

navigationView.getMenu().getItem(0).setChecked(false); 

このメソッドを呼び出しますがsetNavDrawer();

を呼び出した後getItem(int index)方法はMenuItem、あなたはすべてのあなた、そのMenuItemsetChecked(true);を呼び出すことができますを取得しますどの要素インデックスがデフォルトを持つかを調べ、そのインデックスで0を置き換えることです。

あなたは呼び出すことによって、(ハイライト)項目を選択することができます。

onNavigationItemSelected(navigationView.getMenu().getItem(0)); 

注:、ネクサス4で作業ライブラリ改正24.0.0をサポートしていませんでした。

itemOfMenu.setChecked(false);

onNavigationItemSelectedオーバーライドの終わりに:私は追加も、動作しなかった場合、私は

@Override 
protected void onResume() { 
    super.onResume(); 
    for (int i = 0; i < navigationView.getMenu().size(); i++) { 
     navigationView.getMenu().getItem(i).setChecked(false); 
    } 
} 

を使用navigationView.setCheckedItem(id);

1

を使用することを推奨します。以下の例に示すように、上記の溶液に加え

1

、あなたdrawer_view.xmlファイルのグループ要素は、以下の属性を含む場合、

android:checkableBehavior="single" 

:上記の

<menu xmlns:android="http://schemas.android.com/apk/res/android"> 

    <group android:checkableBehavior="single" > 
     <item 
      ... /> 
     <item 
      ... /> 
    </group> 
</menu> 

なしソリューションが機能します。ハイライト機能が必要ない場合は、その属性を使用しないようにしてください。

関連する問題