12

こんにちは、同じメソッドを指しているアクティビティ xml に次のようなもの (3 つのボタン) があります。

 <Button
        android:id="@+id/Button_1"
        android:onClick="printNo"
        android:text="@string/Button_1" />
 <Button
        android:id="@+id/Button_2"
        android:onClick="printNo"
        android:text="@string/Button_2" />

 <Button
        android:id="@+id/Button_3"
        android:onClick="printNo"
        android:text="@string/Button_3" />

printNo メソッドでどのボタンが押されたかを判断する方法はありますか?

4

5 に答える 5

32
public void printNo( View v ) {
    switch (v.getId()) {
    case (R.id.Button_1):
        //stuff
    break;
    case (R.id.Button_2):
        //stuff
    break;
    case (R.id.Button_3):
        //stuff
    break;
}
于 2012-10-04T12:33:49.740 に答える
14

tag@ user1106018が言ったように、次のようにxmlで使用できます。

<Button android:onClick="f" android:tag="0"/>

次に、この方法でこのタグを取得するのは本当に簡単です。

public void f(View v) {
    String value =  v.getTag(); 
}
于 2012-10-04T12:39:23.443 に答える
13

Simply switch over the ID:

public void printNo(View v){
    switch (v.getId()){
    case R.id.Button_1:
        break;
    case R.id.Button_2:
        break;
    case R.id.Button_3:
        break;
}
于 2012-10-04T12:32:41.820 に答える
5

私の最後に働く

public void printNo(View v) {

switch (v.getId()) {

    case R.id.Button_1:
    break;

    case R.id.Button_2:
    break;

    case R.id.Button_3:
    break;
}
于 2012-10-04T12:33:58.240 に答える
0

xml にタグ、np をボタンの名前で追加します。

public void printNo(View V){
    view.getTag();
    // now you can recognize view with getTag()
}

他の答えも良いようです;)

于 2012-10-04T12:34:19.573 に答える