0
我有按鈕的列表清單執行,我加載它們在列表如下:的按鈕onClick事件處理函數不是由按鈕
positionButtons.add((Button) findViewById(R.id.positionBtn0));
positionButtons.add((Button) findViewById(R.id.positionBtn1));
positionButtons.add((Button) findViewById(R.id.positionBtn2));
我添加事件處理程序是這樣的:
Button.OnClickListener currentPositionListener = new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.d(this.getClass().getSimpleName(), "Current position selected");
setSelectedPositionButton((Button) view);
}
};
for (Button positionButton: positionButtons) {
positionButton.setOnClickListener(currentPositionListener);
}
事件處理程序從未得到執行(但沒有錯誤消息),我需要爲每個按鈕單獨的變量要執行的事件處理程序:
positionButton0.setOnClickListener(currentPositionListener);
這是怎麼發生的?是否有解決方法,以便我可以將按鈕添加到列表中並從那裏開始工作,而不是經歷聲明單獨變量的步驟?
UPDATE:
請回復到實際問題,不要把它當作故障排除。如果根據你的意見和經驗,這應該是工作,你可以添加評論或回覆一個實際的工作示例。我並不試圖調試我的代碼,只是想獲得更多的見解。
嘗試'View.OnClickListener currentPositionListener =新View.OnClickListener(){.....};'而是Button.OnclickListener' –
的'你可以分享完整的源代碼。也嘗試在onClick方法中使用Toast或使用調試,以確保此方法未被調用(因爲有時logcat不顯示) –
@AkshayBhat nope。我已經試過了。 – atas76