屏幕旋转后立即调用 Android Checkbox 监听器方法

标签 android checkbox rotation screen

我开始编写 Android 应用程序,但我遇到了复选框问题。

我的 Activity 中有一个复选框,我在 OnCheckedChanged 方法中放置了一条日志消息,以便在选中该复选框时启动,但是当我旋转屏幕时,该消息再次出现,就好像 OnCheckedChanged 方法在系统销毁并再次创建 Activity 。

这是怎么回事??谢谢。

最佳答案

我多次使用过的最好和最干净的解决方案是检查 View.isPressed() 是否存在。这是有道理的,因为用户将在触发回调时按下 Switch。

private Switch.OnCheckedChangeListener mOnSwitch = new Switch.OnCheckedChangeListener()
{
    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
    {
        if (!buttonView.isPressed())
        {
            // Not from user!
            return;
        }

        // Handle user check change
    }
};

关于屏幕旋转后立即调用 Android Checkbox 监听器方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17493748/

相关文章:

java - 通过反射不断迭代字段的字段

Android Preferences自定义布局编辑

javascript - 如何使用 ASP.NET 复选框和 javascript 切换属性?

iphone - 旋转 View iPhone 标签栏应用

c# - 切换四元数的轴和手性?

java - 如何摆脱这个警告?该字段的值未被使用

android - 在 build.gradle 文件的 externalNativeBuild 中指定目标-> 没有方法签名

jquery - AJAX 到 MySQL WHERE IN ($_GET) 请求。排除某些结果

javascript - JQuery 的事件和非事件复选框

ios - 每天旋转一个 ImageView ,即使在 Objective-C 中关闭了应用程序