getPreferenceScreen()

时间:2013-01-19 16:53:41

标签: android

我需要检查一个值并以编程方式启用或禁用“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);

1 个答案:

答案 0 :(得分:7)

改为使用getPreferenceManager()

所以你的代码现在看起来像:

getPreferenceManager().findPreference("keep").setEnabled(values);

这相当于

if (values){
  getPreferenceManager().findPreference("keep").setEnabled(true);
}
else {
  getPreferenceManager().findPreference("keep").setEnabled(false);
}