android:onClickへ引数を渡す方法

4,838 views
Skip to first unread message

杉田臣輔

unread,
Jul 3, 2011, 8:26:13 PM7/3/11
to android-g...@googlegroups.com
こんにちは

XMLのButtonタグを利用して、「android:onClick="hoge"」を記載し、
Javaソース内へ、「public void hoge(View view)」メソッドを追加することでonClickイベントを拾うようにしています。

しかし、XML上へ複数ボタンを設置して、別の振る舞いをしたい時に、
Javaソース内へ複数のメソッドを書くのはスマートではありません。

そこで、XMLのButtonタグへ「android:onClick="hoge(bar)"」「android:onClick="hoge(fuga)"」のように記載し、
引数によって振る舞いを分けたいのですが可能でしょうか?

よろしくお願いします。

Yuki Anzai

unread,
Jul 3, 2011, 8:36:19 PM7/3/11
to android-g...@googlegroups.com
あんざいです。

例えば

 <Button
android:id="@+id/button1"
android:onClick="hoge" />
 <Button
android:id="@+id/button2"
android:onClick="hoge" />

のように定義して

public void hoge(View v) {
switch(v.getId()) {
case R.id.button1:
// 処理
break;
case R.id.button2:
// 処理
break;
}
}

のように ID で判定するのが普通の方法です。


2011/7/4 杉田臣輔 <shin...@gmail.com>:

> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。
>
>

--
あんざい ゆき
anzai...@gmail.com
twitter : @yanzm
Y.A.Mの雑記帳 http://y-anz-m.blogspot.com/

shinriyo

unread,
Jul 3, 2011, 9:25:31 PM7/3/11
to 日本Androidの会
あんざいさん

早速の返信ありがとうございます。出来ました。
Reply all
Reply to author
Forward
0 new messages