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