レイアウトと紐づけているのに、実行すると
エラーが起きるというときの対処法を
簡単な例で説明していきます。
Empty Activity でやります。
例では クリックのメソッドを書いてレイアウトで紐づけます。

まずは、ボタンをレイアウトで置いていきます。
ここでは、IDを button
textをButton
とします。
1 |
<span style="color:#e8bf6a;"><Button<br/></span><span style="color:#e8bf6a;"> </span><span style="color:#9876aa;">android</span><span style="color:#bababa;">:text=</span><span style="color:#6a8759;">"Button"<br/></span><span style="color:#6a8759;"> </span><span style="color:#9876aa;">android</span><span style="color:#bababa;">:layout_width=</span><span style="color:#6a8759;">"wrap_content"<br/></span><span style="color:#6a8759;"> </span><span style="color:#9876aa;">android</span><span style="color:#bababa;">:layout_height=</span><span style="color:#6a8759;">"wrap_content"<br/></span><span style="color:#6a8759;"> </span><span style="color:#9876aa;">android</span><span style="color:#bababa;">:id=</span><span style="color:#6a8759;">"@+id/button"<br/></span><span style="color:#6a8759;"> </span><span style="color:#9876aa;">android</span><span style="color:#bababa;">:layout_centerVertical=</span><span style="color:#6a8759;">"true"<br/></span><span style="color:#6a8759;"> </span><span style="color:#9876aa;">android</span><span style="color:#bababa;">:layout_centerHorizontal=</span><span style="color:#6a8759;">"true" </span><span style="color:#e8bf6a;">/></span> |
レイアウトをタブで Design から Textにするとこんな感じになっています。
そして、
1 |
<br/><span style="color:#cc7832;">public void </span><span style="color:#ffc66d;">onClickButton</span>(View v) {<br/>Button btn = (Button) findViewById(R.id.<span style="color:#9876aa;font-style:italic;">button</span>)<span style="color:#cc7832;">;<br/></span><span style="color:#cc7832;"> </span>btn.setText(<span style="color:#6a8759;">"クリックされました"</span>)<span style="color:#cc7832;">;<br/></span><span style="color:#cc7832;"> </span>}<br/>} |
とりあえず変数を btn としました。
次に
XMLのdesignの方のPropertiesの項目のonClick を押すと
onClickButton(MainActivity)と表示されるのでクリックします。

これでOK!と思い実行すると、

ボタンをクリックすると このように強制終了されます。
xmlのTextタブを開き,
ボタンを確認すると
1 |
<span style="color:#e8bf6a;"><Button<br/></span><span style="color:#9876aa;">android</span><span style="color:#bababa;">:text=</span><span style="color:#6a8759;">"Button"<br/></span><span style="color:#9876aa;">android</span><span style="color:#bababa;">:layout_width=</span><span style="color:#6a8759;">"wrap_content"<br/></span><span style="color:#9876aa;">android</span><span style="color:#bababa;">:layout_height=</span><span style="color:#6a8759;">"wrap_content"<br/></span><span style="color:#9876aa;">android</span><span style="color:#bababa;">:id=</span><span style="color:#6a8759;">"@+id/button"<br/></span><span style="color:#9876aa;">android</span><span style="color:#bababa;">:layout_centerVertical=</span><span style="color:#6a8759;">"true"<br/></span><span style="color:#9876aa;">android</span><span style="color:#bababa;">:layout_centerHorizontal=</span><span style="color:#6a8759;">"true"<br/></span><span style="color:#9876aa;">android</span><span style="color:#bababa;">:onClick=</span><span style="color:#6a8759;">"onClickButton (MainActivity)" </span><span style="color:#e8bf6a;">/></span> |
このように表示されています。
1 |
<span style="font-size: large;"><span style="color: rgb(152, 118, 170);">android</span><span style="color: rgb(186, 186, 186);">:onClick=</span><span style="color: rgb(106, 135, 89);">"onClickButton (MainActivity)" </span><span style="color: rgb(232, 191, 106);">/></span></span> |
なぜか、(MainActivity)と空白が入ってきます。
これがエラーの元なので消します。
1 |
<span style="font-size: large;"><span style="color: rgb(152, 118, 170);">android</span><span style="color: rgb(186, 186, 186);">:onClick=</span><span style="color: rgb(106, 135, 89);">"onClickButton"</span><span style="color: rgb(232, 191, 106);">/></span></span> |
そして実行し、ボタンをクリックすると、
きちんと反映されました!

ありがとうございました。
コメント