2

我需要检查一个值并以编程方式启用或禁用“复选框首选项”。我使用此代码,但 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);
4

1 回答 1

7

改为使用getPreferenceManager()

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

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

这相当于

if (values){
  getPreferenceManager().findPreference("keep").setEnabled(true);
}
else {
  getPreferenceManager().findPreference("keep").setEnabled(false);
}
于 2013-01-19T17:09:47.407 回答