如何确定在android上按下哪个按钮

isc*_*ers 21 android

我需要知道,如何识别,按下哪个按钮.就像我有两个按钮,比如按钮1和按钮2,并且它们都执行相同的方法,比如说method(),如何确定按下哪个按钮?

问候

Pau*_*nko 46

最优雅的模式:

public void onClick(View v) {
switch(v.getId())
{
case R.id.button_a_id:
// handle button A click;
break;
case R.id.button_b_id:
// handle button B click;
break;
default:
throw new RuntimeException("Unknow button ID");
}
Run Code Online (Sandbox Code Playgroud)

这样调试它就简单得多,并确保您不会错过处理任何点击.


adw*_*iri 6

我有10个按钮执行相同的方法updateText(),我使用此代码来获取单击按钮的文本:

public void updateText(View v){
    Button btn = (Button) findViewById(v.getId());
    String text = btn.getText().toString();
}
Run Code Online (Sandbox Code Playgroud)


Bij*_*ala 5

或者...您可以在按钮的xml代码中放入android:onClick =“ foo”,然后在Java上使用签名定义一个方法。在方法foo中,获取ID并将其与所需的ID进行比较

public void foo(View v){

if (v.getId() == R.id.yourButton){

}

else if (v.getId() == R.id.nextButton){

}

}
Run Code Online (Sandbox Code Playgroud)