2011-08-24 2 views
1

나는 이 Activity 안에 있습니다. 이 활동에는 OptionsMenu이 포함됩니다.옵션 메뉴가 두 배로 나타납니다.

OptionsMenu을 선택했을 때 FragmentTransaction을 사용하여 동일한 Fragment 클래스의 새 인스턴스를 시작하면 두 번로드되기 때문에 이중으로 나타납니다.

은 어떻게 조각

감사 사이 OptionsMenu을 관리 할 수 ​​있습니다.

추 신 : 죄송합니다.

+0

몇 가지 코드를 게시 할 수 있습니까? –

+0

해결책의 일부를 찾았습니다. 나는 FragmentTransaction을 사용하고 새로운 인 텐트는 사용하지 않는다. 하지만 내 새로운 질문은 OptionMenu에서 Fragments를 관리하는 방법입니다. – tgirard12

답변

0

의 의존에서하여 FragmentTransaction 비활성 내부 옵션 메뉴를 관리 할 수 ​​있습니다. Activity에서 OptionsItemsSelected도 얻습니다.() onOptionsItemSelected 발생하면

, 나는 현재의 조각과 같이 얻을 :

FragmentManager fg = getSupportFragmentManager(); 
Fragment frag = fg.findFragmentById(R.id.fragmentMap); 

내 모든 조각이 동일한 ID를 가지고 있지만 난 항상 상단에 조각을 얻는다. 조각 위치에

frag.onOptionsItemSelected(item); 

수신 및 내 UI가 제대로 업데이트됩니다 : 그런 다음 나는 호출 할 수 있습니다.

도움이 되었기를 바랍니다. 그가 true로 설정되어있는 경우 Fragment 확장 클래스, 에 setHasOptionsMenu(boolean)와 함께 연주

0

그런 식으로는 없습니다. BackPressed에서 처리하고 사용자 정의 메뉴를 새로운 fragmnet으로 표시 할 수 있습니다. 또는

내가에만 활동에 OptionsMenu을 작성, 당신의 조각 클래스 및 콘텐츠 나는 해결책을 찾을

0

시도 FragmentManager 자동 활동의 onOptionsItemSelected에 대비하여 현재의 단편의 onOptionsItemSelected, 그것은 false로 설정 수동으로 호출 할 수 있습니다 그 콜백을 직접 호출해야합니다.

나를 위해 일했습니다 ... :)

관련 문제