質問編集履歴

1

記載内容を変更

2020/02/13 21:53

投稿

old_dog
old_dog

スコア51

test CHANGED
@@ -1 +1 @@
1
- android メインアクティビティのToolbar(ActionBar)の設定を、他のアクティビティでも使いたい
1
+ android メインアクティビティのToolbarのオーバーフローメニューの設定を、他のアクティビティでも使いたい
test CHANGED
@@ -1,14 +1,22 @@
1
- <質問>
1
+ <質問>ToolBarについて
2
2
 
3
- AndroidのToolbarやActionBarを複数のActivityにセットるときに複数の各Activityに同じ設定(onOptionsItemSelected()の内容全く同じ)を施したいのですがその場合にも各ActivityともonOptionsItemSelected()メソッドを記載しいとなりせんか?
3
+ 複数のActivity.javaでToolBarを実装して、全く同じオーバーフローメニューを作りたいと考えていま。全く同じオーバーフローメニューなので、各Activity.java全く同じ内容のonOptionsItemSelected()を記述することになりす同じコードなので記載個所は一か所にし、各Activity.javaから参照させるように記載しいと考えてす。
4
4
 
5
5
 
6
6
 
7
+ <試みたこと>
8
+
7
- onOptionsItemSelected()の内容が全く同じな、例えばMainActivity.javaに記載したonOptionsItemSelected()を、他のActivityから参照したりできたらいいなと考えてます
9
+ MainActivity.javaにonOptionsItemSelected()を記載し、各子Activity.javaからMainActivity.javaonOptionsItemSelected()を参照させる
8
10
 
9
11
 
10
12
 
13
+ <エラー>
14
+
15
+ onOptionsItemSelected()のpackageContextのところでエラー(NullPointerException)がでます。呼び出し元のActivity.javaのContextが渡せていないからだと思うのですが、どう扱っていいか分かりません。
16
+
17
+
18
+
11
- やはりonOptionsItemSelected(MenuItem item)メソッドは、各Activity毎に記載しないとならないでしょうか?例えば、ScondActivity.javaのコードはエラーになるのですが、こんな感じで他のactivityから、MainActivityのonOptionsItemSelected()を使えたら、と模索してます。
19
+ 例えば、ScondActivity.javaのコードはエラーになるのですが、こんな感じで他のactivityから、MainActivityのonOptionsItemSelected()を使えたら、と模索してます。
12
20
 
13
21
  いい方法はないでしょうか?よろしくご教授お願いします。
14
22