检索被单击的视图的ID

时间:2013-05-01 10:19:51

标签: android onclicklistener

我正在使用MyActivity extends Activity implements OnClickListener{

此活动引用了大约10个以上的按钮,每个按钮都调用setOnClicklistener(this)方法。

@Override 
public void onClick(View v){
    //here I need to get the id of the view that was clicked...
    //Depending on the button that was clicked different actions need to be called...
    //How do I get the ID of the button that was clicked...
}

5 个答案:

答案 0 :(得分:3)

@Override 
public void onClick(View v){
switch(v.getId()){
    case R.id.btnCancel:
        //your code for onclick of that button
        break;
}

答案 1 :(得分:1)

您可以使用以下方法获取ID。

v.getId()

答案 2 :(得分:1)

  @Override 
    public void onClick(View v){
        int id = v.getId();
        if(id == R.id.button_ok){

         }

    }

答案 3 :(得分:1)

发送到View方法的onClick参数是点击的实际按钮,因此您可以检查它是哪一个,例如:

@Override 
public void onClick(View v){
    switch(v.getId()) {
        case R.id.button_1: ...; break;
        case R.id.button_2: ...; break;
        case R.id.button_3: ...; break;
        ...
        default: //unknown button clicked
    }
}

这只是一个选项,还有其他选项。搜索谷歌了解更多信息。

答案 4 :(得分:1)

使用:

if(v.getId()==R.id.whatever)
{
// do something
}

或者您甚至可以使用:     按钮btn =(按钮)findViewById(R.id.btn);

if(v==btn)
{
// do something
}

但不推荐第二个。