2

我有一个包含 Activity 的 TabActivity。When the tab for the activity is selected, if I press the Menu button, onPrepareOptionsMenu is called in the parent TabActivity, but not on the activity for the tab which was selected.

除非我在选项卡内部单击,否则不会显示选项卡中活动的选项菜单,然后我会调用两者(这是我想要的)。选择选项卡时,有什么方法可以“聚焦”选项卡中的活动?

4

2 回答 2

0

只需将此代码用于所有选项卡活动,而无需为 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。

于 2011-01-04T07:03:58.613 回答
-1

我不确定我是否理解这个问题。

如果您想刷新当前选项卡,即焦点所在的选项卡,并且菜单来自父级(选项卡),请尝试以下操作:

在您使用的菜单内:

Activity MyActivity = this.getCurrentActivity();

if ( MyClassActivity.class.isInstance(MyActivity) == true )
{
     ((MyClassActivity)MyActivity).Refresh();   
}

您应该在活动中实现刷新功能。

希望这对您有所帮助。

阿德里安。

于 2011-02-10T07:07:14.927 回答