我需要检查一个值并以编程方式启用或禁用“checkboxpreference”。我使用此代码,但getPreferenceScreen()想要一个方法,我不知道使用哪种方法。 (我在android 2.1上使用它。)
<CheckBoxPreference
android:enabled="true"
android:title="Now"
android:defaultValue="false"
android:key="keep" />
protected void check(){
// read values
if (values){
getPreferenceScreen().findPreference("checkbox-preference-key").setEnabled(true);
}
else {
getPreferenceScreen().findPreference("checkbox-preference-key").setEnabled(false);
答案 0 :(得分:7)
改为使用getPreferenceManager()
。
所以你的代码现在看起来像:
getPreferenceManager().findPreference("keep").setEnabled(values);
这相当于
if (values){
getPreferenceManager().findPreference("keep").setEnabled(true);
}
else {
getPreferenceManager().findPreference("keep").setEnabled(false);
}