有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何获取复选框首选项值?

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

我想要这样的东西:

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

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

}

请帮忙


共 (2) 个答案

  1. # 1 楼答案

    如果您正在使用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;
                }
            });
    
  2. # 2 楼答案

    您还可以使用PreferenceManager.getSharedPreferences().getBoolean(String key, boolean defValue)获取首选项值