2013-04-10 90 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();