2014-01-11 4 views
0

У меня есть 1 TabActivity (MainActivity) и 3 действия для 3 вкладок. (A, B, C Activities), Теперь я переопределяю onCreateOptionsMenu (Меню) и onOptionsItemSelected (ItemItem item) методы в Основная деятельность.Меню дочерней активности, не работающее с TabActivity

Когда я выбираю меню, вызывается функция OnOptionsItemSelected (элемент MenuItem) MainActivity (это нормально). , но onCreateOptionsMenu (меню) и onOptionsItemSelected (элемент MenuItem), которые переопределяют другие дочерние действия (A, B, C), которые не вызываются.

Как я могу назвать метод onOptionsItemSelected (MenuItem item) других дочерних действий (A, B, C), когда пользователь выбирает OnOptionsItemSelected MainActivity (элемент MenuItem)?

Я нашел решение этой проблемы последние 3 дня. Я читаю большую часть ответов, связанных с этой проблемой, но решение этой проблемы не найдено. пожалуйста, пожалуйста, помогите мне. см. Изображение, описывающее мою проблему.

enter image description here

+0

извините за плохой английский – user3153149

+1

'TabActivity', а также деятельность в язычки, была объявлена ​​устаревшей ** почти три года **. Не стесняйтесь использовать поддерживаемое решение для вкладок: «ViewPager» с вкладками, вкладками панели действий, «FragmentTabHost» или «TabHost» с представлениями для вкладок. – CommonsWare

+0

Я недавно искал ViewPager (http://www.androidhive.info/2013/10/android-tab-layout-with-swipeable-views-1/), это потрясающе спасибо «CommonsWare», – user3153149

ответ

0

Вы можете вызвать getCurrentActivity(). OnOptionsItemSelected (пункт) в вашем TabActivity.onOptionsItemSelected

Но обратите внимание на это решение, не называйте super.onOptionsItemSelected (пункт) в своих дочерних действий. Поскольку super onOptionsItemSelected снова вызовет функцию OnAptionsItemSelected TabActivity. это вызовет цикл вызова.

MainActivity:

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    return getCurrentActivity().onOptionsItemSelected(item); 
} 

A, B, C Деятельность

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // TODO Auto-generated method stub 
    ... 
    return true; 
} 
Смежные вопросы