【问题标题】:setChecked of switch is not working开关的 setChecked 不起作用
【发布时间】:2023-07-29 08:50:01
【问题描述】:

我在我的应用程序中使用了一个开关来启用和禁用通知。现在我正在创建一个事件。

如果有任何通知设置到该事件,我想显示开关检查,否则它应该是错误的。但我没有得到任何改变。每次都会显示开关。

当我进行调试时,如果通知不为空,那么它会转到其他部分,但不会显示开关。

 notificationTime = eventData.getNotificationTime();

        if(notificationTime.equals(""))
        {
            notify.setChecked(false);
        }
        else {
            notify.setChecked(true);
        }

怎么了?

【问题讨论】:

    标签: android uiswitch


    【解决方案1】:

    这是在 Android 中处理 switch 的正确方法。

        mySwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            // do something, the isChecked will be
            // true if the switch is in the On position
        }
    });
    

    【讨论】:

    • 这个我知道,但是如果设置了通知,如何默认显示开关?
    • 如果我只是 setChecked(true) 它会显示在此代码中,但不会显示在此代码中。
    • 能否在代码中发布的 if 循环中添加 Log.w("check"," "+working);,以查看 if 循环是否正在执行?如果它正常工作,您应该会收到 logcat 的登录信息!
    • 如果您在Logcat中没有看到,则说明if循环的条件有问题,请修复它!
    最近更新 更多