从MultiSelectListPreference(SharedPreferences)获取所有选定的条目

use*_*172 6 xml android sharedpreferences android-multiselectlistpreference

我想使用MultiSelectListPreference创建一个项目数组并在xml中搜索它们.

我用XML创建了MultiSelectListPreference(res/xml/preferences.xml)

<MultiSelectListPreference
            android:dialogTitle="@string/coursesTitle"
            android:key="searchedCourses"
            android:summary=""        
            android:title="@string/coursesTitle"
            android:entries="@array/courses"
            android:entryValues="@array/courses"
            android:defaultValue="@array/empty_array"
            android:dependency="own_courses"
           />
Run Code Online (Sandbox Code Playgroud)

我创建了一个偏好片段和一个偏好活动.我已经可以选择我想要搜索的项目了.

现在我想读出所选项目.

我试过了

SharedPreferences sharedPref =   PreferenceManager.getDefaultSharedPreferences(this);
 String rawval = sharedPref.getString("searchedCourses", "NA");
 String[] selected = this(context, null).parseStoredValue(rawval);

 Toast.makeText(context, selected[0], Toast.LENGTH_LONG).show();
Run Code Online (Sandbox Code Playgroud)

和我在网上找到的类似"解决方案",但它不起作用.

bla*_*lah 9

虽然对它们不是很熟悉,但我希望这可行:

SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
Set<String> selections = sharedPrefs.getStringSet("searchedCourses", null);

Toast.makeText(context, selections.get(0), Toast.LENGTH_LONG).show();
Run Code Online (Sandbox Code Playgroud)

你看到了什么行为?