前提・実現したいこと
ActivityのonResumeでMenuItemの非表示を行いたいが、方法が分かりません。
onCreateOptionsMenuでは、該当ソースの通りで実現できているのですが、
onCreateOptionsMenuは初回しか実行されないため、Google Playで他のアプリを
インストールして戻ってきたら、他のアプリ全て存在チェックを行い、
全てインストール済ならメニューに表示しないようにしたいのですが、
その制御が出来ません。
【追記】
メニューアイテムを隠す
※上記を参考に改修してみましたが、エラーが発生します。
エラーコード
onResumeの「MenuItem mItem = menu.findItem(R.id.action_app)」で発生
java.lang.NullPointerException: Attempt to invoke interface method 'android.view.MenuItem android.view.Menu.findItem(int)' on a null object reference
該当のソースコード
java
1public class MainActivity extends AppCompatActivity { 2 3 public Menu menu; 4 5 @Override 6 public void onResume(){ 7 super.onResume(); 8 9 //他のアプリご紹介処理 10 AppOther appOth = new AppOther(); 11 //他アプリが全て存在するとき、メニューから消す 12 if(!appOth.appOtherChk()){ 13 MenuItem mItem = menu.findItem(R.id.action_app); 14 mItem.setVisible(false); 15 } 16 17 } 18 19 @Override 20 public boolean onCreateOptionsMenu(Menu menu) { 21 // Inflate the menu; this adds items to the action bar if it is present. 22 getMenuInflater().inflate(R.menu.menu_main, menu); 23 24 this.menu = menu; 25 26 //他のアプリご紹介処理 27 AppOther appOth = new AppOther(); 28 //他アプリが全て存在するとき、メニューから消す 29 if(!appOth.appOtherChk()){ 30 MenuItem mItem = menu.findItem(R.id.action_app); 31 mItem.setVisible(false); 32 } 33 34 return true; 35 }
補足情報(FW/ツールのバージョンなど)
Android Studio3.4
APIレベル14から28まで対象
回答1件
あなたの回答
tips
プレビュー