java - 如何获取复选框偏好值?

标签 java android

我在首选项中有复选框。如果复选框被选中,我想保持屏幕打开,如果复选框未选中,我不想保持屏幕打开。

我想要这样的东西:

boolean keepScreen = sharedPrefs.getBoolean("chck_screen", false);

if (keepScreen.equals(false)) {
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

}

请帮忙。

最佳答案

如果您正在使用 PreferenceActivity 并且在 XML 中声明了带有键“checkbox_preference”的复选框(将其重命名为您拥有的任何名称),您可以这样做:

CheckBoxPreference pref = (CheckBoxPreference) findPreference("checkbox_preference");

pref.isChecked();是否选中返回

此外,您可以为值更改时设置一个监听器

pref.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {

            @Override
            public boolean onPreferenceChange(Preference preference, Object newValue)
            {
                boolean checked = Boolean.valueOf(newValue.toString());

                //set your shared preference value equal to checked

                return true;
            }
        });

关于java - 如何获取复选框偏好值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9794490/

相关文章:

java - 如何将实例从文件加载到多个列表?

java - 如何在 Java 中调用 PostgreSQL 过程?

android - 在 Android 中通过 URI 传递参数

android - gradlew build 和 gradlew assembleRelease 有什么区别

android - 如何切换画面?

Java:showInputDialog 和 ProcessBuilder

java - 如何向 MQ 服务器运行消息并获取输出消息

java - 如何从可选 Java 对象的数组中删除所有项目?

android - 添加/删除 PrimaryKey 时出现 RealmMigrationNeededException

Android SharedPreferences 限制?