0

所以我按下按钮 1、按钮 2、按钮 3 或按钮 4。按下这些按钮中的任何一个都会调用方法 buttonPressed(View v)。我想根据按下的按钮使用不同的情况。例如:

public void buttonPressed(View v){
switch(v){
case button1:
//do something
case button2:
//do something
case button3:
//do something
case button4:
//do something
}}

显然,这是行不通的。我不能在视图中使用 switch 语句。解决这个问题的最简单和最有效的方法是什么?谢谢!!

注意:我在 .xml 中使用 android:onClick="buttonPressed"

4

2 回答 2

3

您需要打开视图的 ID,而不是视图本身

public void buttonPressed(View v){
    switch(v.getId()) {
    case R.id.ButtonOneID:
        //do something
        break;
    case R.id.ButtonTwoID:
        //do something
        break;
    case R.id.ButtonThreeID:
        //do something
        break;
    case R.id.ButtonFourID:
        //do something
        break;
    }
}
于 2013-09-07T01:49:45.333 回答
2
public void buttonPressed(View v){
    int id = v.getId();
    switch(id){
    case button1.getId();
        //do something
        break;
    case button2.getId();
        //do something
        break;
    case button3.getId();
        //do something
        break;
    case button4.getId();
        //do something
        break;
    }
}
于 2013-09-07T01:52:44.183 回答