Android Studio、メソッドの結び付けが出来ない時の対処法!

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

Empty Activity でやります。
例では  クリックのメソッドを書いてレイアウトで紐づけます。
キャプsチャ
まずは、ボタンをレイアウトで置いていきます。
ここでは、IDを button
      textを
Button 

とします。

<Button
android:text="Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />

レイアウトをタブで Design から Textにするとこんな感じになっています。
そして、


public void onClickButton(View v) {
Button btn = (Button) findViewById(R.id.button);
btn.setText("クリックされました");
}
}

ボタンのクリックのメソッドを書きます。
 
とりあえず変数を btn としました。
次に
XMLのdesignの方のPropertiesの項目のonClick を押すと
onClickButton(MainActivity)と表示されるのでクリックします。

キャプaaチャ
これでOK!と思い実行すると、
2.jpg
ボタンをクリックすると このように強制終了されます。

xmlのTextタブを開き,
ボタンを確認すると

<Button
android:text="Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:onClick="onClickButton (MainActivity)" />

このように表示されています。

android:onClick="onClickButton (MainActivity)" />


なぜか、(MainActivity)と空白が入ってきます。
これがエラーの元なので消します。


android:onClick="onClickButton"/>

こうなりました。すっきりです。


そして実行し、ボタンをクリックすると、
きちんと反映されました!
キャプsssチャ
ありがとうございました。

コメント

スポンサーリンク
スポンサーリンク
タイトルとURLをコピーしました