【问题标题】:Android: Options menu for nested Activity in TabAndroid:选项卡中嵌套活动的选项菜单
【发布时间】:2010-07-04 16:17:54
【问题描述】:
我有一个包含 Activity 的 TabActivity。选择活动的选项卡后,如果我按下菜单按钮,则在父 TabActivity 中调用 onPrepareOptionsMenu,但不会在所选选项卡的活动上调用。
除非我在选项卡内部单击,否则不会显示选项卡中活动的选项菜单,然后我会调用两者(这是我想要的)。选择选项卡时,有什么方法可以“聚焦”选项卡中的活动?
【问题讨论】:
标签:
android
menu
tabs
android-activity
android-tabhost
【解决方案1】:
只需将此代码用于所有选项卡活动,而无需为 TabHost(主活动)提供选项菜单
/**...........Context Menu........cg.*/
public boolean onCreateOptionsMenu (Menu menu) {
menu.add(0, 0, Menu.NONE, "Refresh");
menu.add(0, 1, Menu.NONE, "Exit");
return true;
}
/**---------- Handles item selections ------------cg */
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 0:
System.out.println("Refresh");
return true;
case 1:
System.out.println("Exit");
return true;
}
return false;
}
希望对你有帮助。
谢谢,
Ganapathy。
【解决方案2】:
我不确定我是否理解这个问题。
如果您想刷新当前的选项卡,即焦点所在的选项卡,并且菜单来自父级(选项卡),请尝试以下操作:
在您使用的菜单内:
Activity MyActivity = this.getCurrentActivity();
if ( MyClassActivity.class.isInstance(MyActivity) == true )
{
((MyClassActivity)MyActivity).Refresh();
}
您应该在您的活动中实现刷新功能。
希望对你有所帮助。
阿德里安。