Я создаю разные кнопки динамически, как это:
for (int toShow = 1; toShow <= nShips; toShow++)
{
btn = new Button(this);
btn.setBackgroundResource(shipDrawable.get(ima));
btn.setLayoutParams(params);
row[pos].addView(btn);
btn.setId(shipId.get(ima));
if (row[pos].getChildCount() == 3) pos++;
ima++;
}
Мне нужно знать личность каждой кнопки, потому что у друг друга разные действия. Затем я пытаюсь установить onClickListener
так:
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View btn) {
switch(btn.getId()){
case 1000: System.out.println("FIRST");
break;
case 1004: System.out.println("FOURTH");
break;
}
}
});
Но это не работает. Кажется, что onClickListener
влияет только на последний созданный элемент. Если я создаю четыре кнопки, только четвертая будет иметь onClickListener
.
Как мне заставить моих слушателей щелчка работать?