У меня проблема с обработкой динамически созданных кнопок на 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? любые предложения?