1

我正在尝试根据是否选中复选框来更改列表首选项的条目值...

    SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);{
    if(sharedPrefs.getBoolean("french", false))
    {

        Preference newsPref = (Preference) findPreference("news_feed");
        newsPref.setDefaultValue("@array/newsfeedfr");

    }
    else
    {
        Preference newsPref = (Preference) findPreference("news_feed");
        newsPref.setEntryValues("@array/newsfeed");

    }

    }

我在 .setEntryValue 上遇到错误:

The method setEntryValues(String) is undefined for the type Preference
4

1 回答 1

2

您遇到的一个问题是如何引用数组值。@array/newsfeed用于 XML 文件,而不是 Java!

您可能想要使用getResources().getStringArray(R.array.newsfeed)或类似的。来源

另一个问题是setEntryValues()未定义为Preferences,您需要初始化为 a ListPreference

于 2012-07-08T00:13:13.943 回答