Android:仅在单击按钮时才会将菜单(添加项目添加到操作栏)

时间:2016-06-14 09:05:34

标签: java android android-layout android-studio android-xml

我试图只在Android上点击一个按钮来膨胀菜单。如何在不通过调用onCreateOptionsMenu自动创建它的情况下实现它。 我希望菜单只在点击按钮后出现。

enter image description here

2 个答案:

答案 0 :(得分:1)

首先在动作R.menu ...文件中添加此图标,并将可见性设置为false。

在我们的java文件中有一个布尔实例变量。

private boolean isTickVisible = false;

然后你需要覆盖OnPrepareOptions菜单,如下所示,并设置勾选菜单的可见性。

 @Override
    public void onPrepareOptionsMenu(Menu menu) {
        super.onPrepareOptionsMenu(menu);

        MenuItem someMenuItem = menu.findItem(R.id.tick_menu_item);
        someMenuItem.setVisible(isTickVisible);
    }

最后按钮的onClick事件执行以下操作:

isTickVisible = true;
invalidateOptionsMenu(); //this will redraw your menu.

答案 1 :(得分:0)

我通过设置可见性修复了这个问题。填充布局并仅在单击按钮时使其可见。在onClickListener中添加一个标志 例如:隐藏= TRUE;

@Override
 public boolean onCreateOptionsMenu(Menu menu) {
 getMenuInflater().inflate(R.menu.menu_search, menu);

for (int i = 0; i < menu.size(); i++)
       if(Hide){
            menu.getItem(i).setVisible(true);
            }
}