2

내 탐색 서랍에서 마지막으로 선택한 항목이 계속 표시됩니다. 제거 할 수있는 방법이 있습니다. 사용자가 홈 페이지에 있으면 탐색 서랍 항목이 강조 표시되지 않아야합니다.탐색 서랍 항목이 선택된 상태로 유지됨 Android

내가 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

아래의 코드를 사용 : 모두에게, 그 MenuItem에 당신을 setChecked(true);를 호출 할 수 있습니다

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

전화는 setNavDrawer();

getItem(int index) 방법은 다음 MenuItem를 가져 호출 한 후이 방법을 어떤 요소 색인이 기본값을 가지고 있는지 알아 내고 그 색인으로 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> 

없음 솔루션 작동. 따라서 하이라이트 기능을 원하지 않으면 해당 속성을 사용하지 마십시오.