【问题标题】:Android: Multiple Option Menus in one ActivityAndroid:一个活动中的多个选项菜单
【发布时间】:2011-10-24 01:59:39
【问题描述】:

我有一个包含ViewFlipperActivity,并希望为ViewFlipper 中的每个视图显示不同的选项菜单。也就是说,按下菜单按钮时显示的菜单类型将取决于当前视图的类型。但是,onCreateOptionsMenu() 仅被调用一次(第一次显示选项菜单时),因此无法在此处实现创建不同的菜单。我该如何解决这个问题?

任何建议表示赞赏。

【问题讨论】:

    标签: android android-activity menu option


    【解决方案1】:

    首先阅读onPrepareOptionsMenu(Menu menu)

    每次用户在您的一项活动中按下其 Android 设备上的 Menu 时,都会调用 onPrepareOptionsMenu 方法。第一次显示菜单时(即只显示一次),调用onCreateOptionsMenu 方法。

    基本上,onPrepareOptionsMenu 方法是您应该进行任何更改的地方,例如启用/禁用某些菜单项,或根据情况更改菜单项文本。

    这样做(不要使用onCreateOptionsMenu(Menu menu)

    //Dynamically create context Menu
        @Override
        public boolean onPrepareOptionsMenu(Menu menu) {
            menu.clear(); //Clear view of previous menu
            MenuInflater inflater = getMenuInflater();
            if(condition_true)
                inflater.inflate(R.menu.menu_one, menu);
            else
                inflater.inflate(R.menu.menu_two, menu);
            return super.onPrepareOptionsMenu(menu);
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-20
      • 2015-03-09
      相关资源
      最近更新 更多