①XML で、Button ウィジェットなどのOn click 欄にメソッド名を書く。(※ここでは、hoge とする)
②public でView を引数にしてメソッド定義。(※ボタン2つ、XMLで定義しているId:<button1><button2>として、それぞれのId で分岐可能)
public void hoge(View view) {
if(findViewById(R.id.button1)==view){
((Button) view).setText("押したよ~1");
}else if(findViewById(R.id.button2)==view){
((TextView) view).setText("押したよ~2");
}
}
試してみたら、キャストするのButton でもTextView でも、ボタンの文字が押したよ~に変わってくれた。この辺はよく分からん。
ボタンごとに定義するメソッド名を変えて、Javaでそれぞれ書いた方が分かりやすいかも?
追記)
上記の書き方だと、どうもバグ?みたいな現象がありました。
また、ボタン1つに1つのメソッドをそれぞれ定義した方が分かりやすいと思いました。
0 件のコメント:
コメントを投稿