アクションバーのメニュー項目を非表示にするにはどうすればいいですか? 質問する

アクションバーのメニュー項目を非表示にするにはどうすればいいですか? 質問する

メニュー項目のあるアクション バーがあります。そのメニュー項目を非表示/表示するにはどうすればよいですか?

私がやろうとしているのは次のことです:

MenuItem item = (MenuItem) findViewById(R.id.addAction);
item.setVisible(false);
this.invalidateOptionsMenu();

ベストアンサー1

MenuItemそのような項目へのポインタを取得し、setVisibleそれを呼び出してその可視性を調整し、invalidateOptionsMenu()アクティビティを呼び出して、ActionBar メニューがそれに応じて調整されるようにします。

更新:MenuItemレイアウトの一部である通常のビューではありません。特別なものであり、まったく異なります。コードは を返しnullitemそれがクラッシュの原因です。代わりに必要なのは、次の操作です。

MenuItem item = menu.findItem(R.id.addAction);

呼び出す順序は次のとおりです。最初に を呼び出しinvalidateOptionsMenu()、次に をonCreateOptionsMenu(Menu)呼び出して MenuItem への参照を取得しmenu.findItem()setVisible()それを呼び出します。

おすすめ記事