20

按照开发指南,我可以在 XML 中使用向按钮添加方法。这在我的活动中调用了“buttonPress”方法。如果我对多个按钮应用相同的方法,如何确定被点击的按钮的身份?

4

2 回答 2

72

使用getId()方法。它返回int您可以与资源中的 id 进行比较的 id。

像这样使用 switch 语句非常方便:

public void buttonPress(View v) {
    switch (v.getId()) {
        case R.id.button_one:
            // do something
            break;
        case R.id.button_two:
            // do something else
            break;
        case R.id.button_three:
            // i'm lazy, do nothing
            break;
    }
}
于 2012-10-23T14:09:48.317 回答
0

您可以使用该getId()方法获取当前选定视图的 id。getId()返回android:id值,在开关控件中使用该整数值来确定当前使用的控制器名称。

public void buttonPress(View v) {
    switch (v.getId()) {
        case R.id.button_one:
            // do something
            break;
        case R.id.button_two:
            // do something else
            break;
       default: 
            //default case
            break;
    }
}
于 2022-01-31T06:36:18.697 回答