18

我这里有这段代码

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 的帮助下观察到。鲍威尔当然,当你把这个代码块,我发布的那个,放在另一个匿名侦听器中,比如说保存按钮的侦听器,checkOnChangedListener 坏了,它在另一个匿名侦听器中不能正常工作,但是我不明白的是,我的代码中还有一个外部侦听器,它就像一个显示对话框的按钮,在该对话框内,有一个添加按钮,可以打开另一个具有该切换的对话框按钮和另一个用于保存或添加的按钮关闭该对话框并返回到上一个对话框,然后将显示新添加的记录,所以你们中的任何人都知道为什么当我将它放在一个监听器中保存按钮时它会损坏但是在外部侦听器中工作正常。

4

4 回答 4

19

试试这个,可能是问题出在import

toggleAlarm.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

@Override
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);
    }

}
});
于 2012-08-02T11:41:18.603 回答
1

也试试看toggleAlarm.isChecked()按钮是否被选中。

于 2012-08-02T11:27:43.287 回答
1

如果 toggleAlarm.isChecked() 对你不起作用,你总是可以的。

boolean _isChecked = false;
((ToggleButton) d.findViewById(R.id.toggle_alarm)).setOnClickListener(new OnOnClickListener() {
    public void onClick(View arg0) {
        _isChecked = !isChecked;            
        if(_isChecked()) {
            Log.d("alarmCheck","ALARM SET TO TRUE");
            sched.setAlarm(true);
        }
        else {
            Log.d("alarmCheck","ALARM SET TO FALSE");
            sched.setAlarm(false);
        }
    }
});
于 2014-01-15T19:36:14.063 回答
0

所以我观察到,在 cdr 的帮助下。鲍威尔当然,当你把这个代码块,我发布的那个,放在另一个匿名侦听器中,比如说保存按钮的侦听器,checkOnChangedListener 坏了,它在另一个匿名侦听器中不能正常工作,但是那个我不明白的是,我的代码中还有一个外部侦听器,它就像一个显示对话框的按钮,在该对话框内部,有一个添加按钮,可以打开另一个具有该切换按钮的对话框和另一个用于保存或添加的按钮,它关闭该对话框并返回到上一个对话框,然后将显示新添加的记录,所以你们中的任何人都知道为什么当我将它放在一个监听器中保存按钮但工作时它会损坏在外部听众中很好。

于 2012-09-19T14:02:01.797 回答