0

enter image description here언어를 전환 한 후, 조각은 내가 <code>setHasOptionsMenu(true);</code>를 설정 한 다음 <code>onCreateOptionsMenu</code>에서 나는 언어를 전환 할 때까지 <code>inflater.inflate(R.menu.menu_fragment, menu);</code>이 모든 것이 괜찮 설정, v4.fragment 중복 옵션 메뉴 항목

증가합니다.

응용 프로그램이 실행 중일 때 홈 키를 누르고 설정을 열고 로캘 언어를 변경하고 최근 앱 목록에서 실행중인 앱을 선택하면 작업 표시 줄의 옵션 메뉴가 중복 메뉴 항목을 증가시킵니다.

+0

활동 및 조각 소스 코드 – Dima

+1

아마도 그 이유는 알고 있습니다. 로캘을 변경할 때 안드로이드는 매니페스트를 설정하지 않으면 표시되는 활동에서 onCreate 메서드를 호출합니다. 내 액티비티에서 프래그먼트가 다시 생성되어 액티비티, fragmentmanager의 이전 프래그먼트 및 동일한 액티비티의 새 프래그먼트에 첨부됩니다. 액티비티에는 중복 메뉴 항목이 있습니다. – GeminiYellow

답변

1

쌍둥이 형제, 나는 그것이 늦었다는 것을 알고 있으며 아마도 당신은 이미 그 대답을 가지고있을 것입니다. 이 문제를 해결하는 가장 쉬운 방법은 menu.clear()를 추가하는 것입니다.

public void onPrepareOptionsMenu(Menu menu) { 
    MenuInflater inflater = new MenuInflater(getActivity().getApplicationContext()); 

    menu.clear(); 

    super.onPrepareOptionsMenu(menu); 
    inflater.inflate(R.menu.myMenu, menu); 
} 
관련 문제