У меня проблема с обработкой динамически создаваемых кнопок на Android. Я создаю N кнопок, и я должен делать тот же метод при нажатии кнопки, но я должен знать, какая кнопка нажата.
for (int i = 0; i < NO_BUTTONS; i++){
Button btn = new Button(this);
btn.setId(2000+i);
...
btn.setOnClickListener((OnClickListener) this);
buttonList.addView(btn);
list.add(btn);
В настоящее время я добавляю идентификатор к каждой кнопке и использую метод ниже, чтобы увидеть, какая кнопка была нажата. (Строка btn.setId (2000 + i);
и btn.setOnClickListener ((OnClickListener) this);
). Этот метод также реализован в деятельности.
@Override
public void onClick(View v) {
switch (v.getId()){
case 2000: selectButton(0);
break;
...
case 2007: selectButton(7);
break;
}
}
Мне это не нравится, поэтому я спрашиваю, есть ли способ лучше? или как отправить некоторую информацию в событие onclick? есть предложения?