나는 각기 고유 한 활동 인 4 개의 탭이있는 TabActivity
을 가지고 있습니다. 각 탭은 자신의 onCreateOptionsMenu
을 정의합니다 (경우에 따라 onPrepareOptionsMenu
). 각 탭이로드되면 AsyncTask
이 시작되어 해당 탭의 목록을 채우는 데 필요한 데이터를 검색합니다.Android의 이상한 옵션 메뉴 동작 TabActivity
탭이 매우 빠르게 (아직로드 중일 때) 전환 한 다음 (현재 탭의 AsyncApiTask
이 계속 실행되는 동안) 메뉴 버튼을 누르면 잘못된 옵션 메뉴가 표시 될 수 있습니다.
예를 들어, FooActivity
(표 1)은 "새로 고침"항목을 가지고있는 옵션 메뉴를 가지고 가정 해 봅시다, 그리고 BarActivity
(탭 2)은 "보기"항목과 옵션 메뉴가 있습니다. 탭 1이 활성화 된 상태로 앱을 시작하고 빠르게 탭 2로 전환 한 다음 메뉴를 누르면 예상되는 '모두보기'항목보다는 '새로 고침'항목이 표시됩니다.
또한이 이상한 동작은 첫 번째 메뉴 누름에서 가끔 발생하지만 나중에 누를 때마다 "멈춤"상태가되고 탭을 전환 할 때까지 모든 항목에서 잘못된 항목이 표시됩니다.
어떤 일이 벌어 질 수 있는지 알고 싶습니다. 전에 이런 일에 대해 들어 본 적이 없으며 좋은 제안을 찾을 수 없었습니다.
이것은 활동을 탭의 내용으로 사용하는 것을 싫어하는 이유의 겉으로보기에는 무한한 목록 중 하나입니다. 탭을 단순하게 만드십시오. * 활성 탭에 기반한 구현에 * on * onPrepareOptionsMenu()를 위임하십시오. – CommonsWare
아, 훌륭하게, 나는이 일을 무섭게 잘못하고있는 것이 아니라는 것을 아는 것이 매우 위안이된다. 나는이 해결책을 고려할 것이다. 감사! – jakeboxer