我有一些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。我可以保存这个状态吗?
由于
答案 0 :(得分:2)
将持久性属性更改为true。
android:persistent="true"
实际上,如果您将其分配给false
,则意味着首选项不会将值存储到SharedPreferences中,这就是为什么您的状态未在“下次启动”中保存的原因。
答案 1 :(得分:0)
您必须将更改应用于共享首选项,下次复选框将通过共享首选项中的键检索值。
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
sp.edit().putInt(your_key, your_value).apply();