我創建不同的按鈕,動態是這樣的:setOnClickListener動態
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
。
如何讓我的點擊偵聽器正常工作?
這個回覆與Hiral的回覆非常相似。他首先發布,因此「接受的答案」會發給他。對不起 – 2012-03-19 11:37:06
@KrLx_roller很好。雖然我只是看着帖子的時間,而且我確實在他之前發佈了答案。但是無論如何,我很高興你解決了你的問題。 – YuviDroid 2012-03-19 12:43:19