回答編集履歴

1

改めて原因

2016/09/04 11:11

投稿

swordone
swordone

スコア20651

test CHANGED
@@ -1 +1,33 @@
1
+ 原因はこれですね。これ以外に比較ですべてこの形になっていますが。
2
+
3
+ ```java
4
+
5
+ if (MENU_ITEM.equals(item.getTitle()))
6
+
7
+ ```
8
+
9
+ MenuItem#getTitle()の返り値はCharSequence型で、Stringとのequalsが成立しません。
10
+
11
+ なので、toString()してString型にするか、
12
+
13
+ ```java
14
+
15
+ if (MENU_ITEM.equals(item.getTitle().toString()))
16
+
17
+ ```
18
+
19
+ 比較メソッドをequalsの代わりにcontentEqualsを使って下さい。
20
+
21
+ ```java
22
+
23
+ if (MENU_ITEM.contentEquals(item.getTitle()))
24
+
25
+ ```
26
+
27
+
28
+
29
+ ###過去の回答
30
+
1
31
  「ボタンを押しても~」とあるが、ボタンに対するOnClickListenerが見当たらないため、ボタンをおした時の動作がそもそも定義されてない可能性があります。ダイアログ表示のコードと思しき箇所はメニューの中の項目を選択した時のもの(onOptionsItemSelected)なので、メニューを出してどれかを押さないとダイアログは出てきません。
32
+
33
+