【问题标题】: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();   
      }
      

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

      希望对你有所帮助。

      阿德里安。

      【讨论】:

        猜你喜欢
        • 2012-10-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-24
        • 1970-01-01
        相关资源
        最近更新 更多