Android:ToggleButton Listener

lem*_*des 17 android

通过这种方式,我已经完成了这条线,并且有了CDR的帮助.POWELL ...请参阅下面编辑的帖子

我这里有这个代码

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);
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

我必须跟踪它是ON还是OFF ..但当我记录一些东西到logcat其开启或关闭它不会做一件事...我不知道什么是错的因为我的其他代码相同,语法但它的工作原理我只是复制粘贴它只更改ToggleButton变量.

编辑

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

Moh*_*eem 16

试试这个,可能是问题所在 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);
    }

}
});
Run Code Online (Sandbox Code Playgroud)


lem*_*des 0

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