我有这段代码在这里
ToggleButton toggleAlarm = (ToggleButton) d.findViewById(R.id.toggle_alarm);
toggleAlarm.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked)
{
Log.d("alarmCheck","ALARM SET TO TRUE");
sched.setAlarm(true);
}
else
{
Log.d("alarmCheck","ALARM SET TO FALSE");
sched.setAlarm(false);
}
}
});
我必须跟踪它的开关状态。但是,当我将其记录到logcat中时,无论它是开还是关,它都不起作用。我不知道出了什么问题,因为在我的其他代码中,语法相同,但它能正常工作,我只是复制粘贴它并仅更改ToggleButton变量。
编辑
我观察到,在cdr. Powell的帮助下,当您将此代码块(即我发布的代码)放在另一个匿名侦听器中时,即保存按钮的侦听器中,checkOnChangedListener会损坏,它不能很好地在另一个匿名侦听器中运行,但我不理解的一件事是,我的代码中也有一个外部侦听器,就像一个按钮来显示对话框,而在该对话框中,有一个添加按钮,它打开另一个具有切换按钮和另一个保存或添加按钮的对话框,该对话框关闭并返回到之前的对话框,然后显示新添加的记录,所以你们中的任何人有想法吗?为什么将其放在保存按钮的侦听器中时会出现问题,但在外部侦听器中却可以正常工作。
ToggleButton toggleAlarm = (ToggleButton) d.findViewById(R.id.toggle_alarm)
出了问题,因为onCheckedChanged()
没有被执行。这种情况很容易出现在复制粘贴时。 - Cdr. Powell