получение идентификатора просмотра, на который нажали

Я использую 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...
}

person LokiDroid    schedule 01.05.2013    source источник
comment
Почему бы сначала не погуглить? developer.android.com/reference/android/view/View. html#getId()   -  person Eugene Popovich    schedule 01.05.2013
comment
Вам дан объект View, по которому щелкнули... серьезно, этот вопрос нужно было задать?   -  person mah    schedule 01.05.2013


Ответы (3)


вы можете использовать следующий метод, чтобы получить идентификатор.

v.getId()
person Avtar Guleria    schedule 01.05.2013

Параметр 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
    }
}

Это только один вариант, есть и другие. Поищите в Google дополнительную информацию.

person Aleks G    schedule 01.05.2013

использовать :

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

или вы даже можете использовать: Button btn = (Button)findViewById(R.id.btn);

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

но второй не рекомендуется.

person Yash Patil    schedule 01.05.2013