質問するログイン新規登録

質問編集履歴

1

追加

2019/11/24 15:40

投稿

jun74
jun74

スコア338

title CHANGED
File without changes
body CHANGED
@@ -7,14 +7,45 @@
7
7
  全てインストール済ならメニューに表示しないようにしたいのですが、
8
8
  その制御が出来ません。
9
9
 
10
+ 【追記】
11
+ [メニューアイテムを隠す](http://android-note.open-memo.net/sub/menu__hide_menu_item.html)
12
+ ※上記を参考に改修してみましたが、エラーが発生します。
13
+
14
+ ### エラーコード
15
+
16
+ onResumeの「MenuItem mItem = menu.findItem(R.id.action_app)」で発生
17
+ ```
18
+ java.lang.NullPointerException: Attempt to invoke interface method 'android.view.MenuItem android.view.Menu.findItem(int)' on a null object reference
19
+ ```
20
+
10
21
  ### 該当のソースコード
11
22
 
12
23
  ```java
24
+ public class MainActivity extends AppCompatActivity {
25
+
26
+ public Menu menu;
27
+
13
28
  @Override
29
+ public void onResume(){
30
+ super.onResume();
31
+
32
+ //他のアプリご紹介処理
33
+ AppOther appOth = new AppOther();
34
+ //他アプリが全て存在するとき、メニューから消す
35
+ if(!appOth.appOtherChk()){
36
+ MenuItem mItem = menu.findItem(R.id.action_app);
37
+ mItem.setVisible(false);
38
+ }
39
+
40
+ }
41
+
42
+ @Override
14
43
  public boolean onCreateOptionsMenu(Menu menu) {
15
44
  // Inflate the menu; this adds items to the action bar if it is present.
16
45
  getMenuInflater().inflate(R.menu.menu_main, menu);
17
46
 
47
+ this.menu = menu;
48
+
18
49
  //他のアプリご紹介処理
19
50
  AppOther appOth = new AppOther();
20
51
  //他アプリが全て存在するとき、メニューから消す