1

チェックボックスがチェックされているかどうかに応じて、listpreference の entryvalue を変更しようとしています...

    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

1 つの問題は、配列値を参照する方法にあります。@array/newsfeedJava ではなく、XML ファイルで使用されます。

getResources().getStringArray(R.array.newsfeed)おそらく、または類似のものを使用したいと思うでしょう。ソース

もう 1 つの問題は、setEntryValues()に対して定義されていないことです。代わりにPreferencesとして初期化する必要があります。ListPreference

于 2012-07-08T00:13:13.943 に答える