Android - 如何保存CheckBox启用状态

时间:2013-04-10 07:31:54

标签: android settings

我有一些PreferenceActivity,并且有一些CheckBox。

<PreferenceScreen
        android:key="prefGraphValues"
        android:title="@string/pref_graph_values"
        android:persistent="false" >
         <CheckBoxPreference
            android:defaultValue="true"
            android:key="Temp.Dry"
            android:summary="@string/pref_graph_value_temp_dry_summary"
            android:title="@string/pref_graph_value_temp_dry" >
        </CheckBoxPreference>
</PreferenceScreen>

代码中的Somwhere我有这样的东西:

checkBox.setEnabled(false);

但是当我关闭此活动并稍后启动它时,启用了checkBox。我可以保存这个状态吗?

由于

2 个答案:

答案 0 :(得分:2)

将持久性属性更改为true。

android:persistent="true"

实际上,如果您将其分配给false,则意味着首选项不会将值存储到SharedPreferences中,这就是为什么您的状态未在“下次启动”中保存的原因。

答案 1 :(得分:0)

您必须将更改应用于共享首选项,下次复选框将通过共享首选项中的键检索值。

SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
sp.edit().putInt(your_key, your_value).apply();