今日は、 Android Studio でクリックのメソッドを書いて
レイアウトと紐づけているのに、実行すると
エラーが起きるというときの対処法を
簡単な例で説明していきます。
Empty Activity
でやります。
例では クリックのメソッドを書いてレイアウトで紐づけます。
まずは、ボタンをレイアウトで置いていきます。
ここでは、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)と表示されるのでクリックします。
これでOK!と思い実行すると、
ボタンをクリックすると このように強制終了されます。
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"/>
こうなりました。すっきりです。
コメント