2013-04-10 60 views
2

我有一些PreferenceActivity,并且有一些CheckBoxes。Android - 如何保存CheckBox启用状态

​​

Somwhere在代码中,我有这样的事情:

checkBox.setEnabled(false); 

但是当我关闭这个活动以后启动它,复选框被启用。我可以保存这个状态吗?

谢谢

回答

1

更改您的永久性属性为true。

android:persistent="true" 

实际,如果你把它分配给false这意味着偏好不会存储值(S)的SharedPreferences,这就是为什么你的状态不保存在“下一次启动”。

+0

是的,这个属性保存了一个checkBox的状态,它被选中或不被选中,但没有被启用或禁用状态。我不知道如何做到这一点。还有一些想法? – Papaja 2013-04-10 10:01:24

+0

@Papaja显式地将状态保存到SharedPreferences。当您将启用设置为false时,使用键例如'Temp.DryIsNotEnabled'将其保存到SharedPreferences中,您知道如何实现它吗?或者你需要一些代码示例? – Sajmon 2013-04-10 10:16:02

+0

是的,我知道如何实现它,但我认为这是API为这种场合实现的另一种方式(更简单)。但是,这是我的解决方案:-)谢谢。 – Papaja 2013-04-10 10:23:47

0

您必须将更改应用到sharedpreference,并且下一次该复选框将通过sharedpreference中的键检索值。

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