[解決済み】アクションバーのメニュー項目を非表示にするには?
2022-04-17 10:03:47
質問
メニューのあるアクションバーがあります。そのメニュー項目を表示/非表示にするにはどうしたらよいですか?
こんな感じでやってます。
MenuItem item = (MenuItem) findViewById(R.id.addAction);
item.setVisible(false);
this.invalidateOptionsMenu();
解決方法は?
を取得します。
MenuItem
そのような項目を指して
setVisible
を呼び出して可視性を調整した後
invalidateOptionsMenu()
を実行すると、ActionBarのメニューがそれに応じて調整されます。
更新してください。
A
MenuItem
は、レイアウトの一部である通常のビューではありません。特別なものであり、全く異なるものです。あなたのコードが返す
null
に対して
item
で、それがクラッシュの原因になっています。代わりに必要なのは
MenuItem item = menu.findItem(R.id.addAction);
以下は、呼び出す順番です。
ファーストコール
invalidateOptionsMenu()
で、その中の
onCreateOptionsMenu(Menu)
を呼び出して)MenuItemへの参照を取得します。
menu.findItem()
を呼び出す。
setVisible()
その上で
関連
-
[解決済み] エラー - Android リソースのリンクに失敗しました (AAPT2 27.0.3 Daemon #0)
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] インスタンス状態の保存を使用してアクティビティ状態を保存するにはどうすればよいですか?
-
[解決済み] アプリケーションを終了することは嫌われますか?
-
[解決済み] TextViewのリンクをクリック可能にする方法
-
[解決済み] Androidでファイルをダウンロードし、ProgressDialogで進捗を表示する。
-
[解決済み] 既存のカスタムテーマでXMLのアクティビティのタイトルバーを非表示にする方法
-
[解決済み] EditTextのアンダーバーを非表示にする方法
-
[解決済み】「px」、「dip」、「dp」、「sp」の違いは?
-
[解決済み】アンドロイドのアクションバーのタイトルとアイコンを変更する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ビットマップを保存する場所について
-
[解決済み】起動アクティビティを特定できませんでした。デフォルトのアクティビティが見つかりませんでした
-
[解決済み】findViewByIDがnullを返す。
-
[解決済み】sendUserActionEvent()がnullである。
-
[解決済み】Android Studioで最新バージョンのgradleを使用する方法
-
[解決済み】Couldn't load memtrack module Logcat Error
-
[解決済み] エラー - Android リソースのリンクに失敗しました (AAPT2 27.0.3 Daemon #0)
-
[解決済み] TypeError: cb.apply は関数ではありません。
-
[解決済み] コンパイルした.apkを端末にインストールしようとするとINSTALL_FAILED_UPDATE_INCOMPATIBLEが表示される
-
[解決済み] android.support.design.widget.FloatingActionButton クラスの展開に失敗しました。