MultiSelectListPreference是否不保存所选项目?

时间:2018-07-16 20:28:04

标签: java android android-studio preferenceactivity multiselectlistpreference

我正在寻找一种选择多个值的替代方法。我以前使用过ListPreference,并且从某些论坛和Stackoverflow听说,MultiSelectListPreference是此类作业的最佳方法。

现在,我了解到MultiSelectListPreference很难将值保存为默认值。我启动了android应用并选择了一些项目,但是如果返回主屏幕或停止应用,它不会保存我选择的值。

那是我的SettingActivity。

public class SettingsActivity extends AppCompatActivity {
MultiSelectListPreference multiSelectListPreference = new MultiSelectListPreference(this);

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_settings);

  }
}

那是我的带有特定信息的xml文件。

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
        <MultiSelectListPreference
        android:title="@string/mark_title_anime"
        android:summary="@string/mark_summary_anime"
        android:entries="@array/anime"
        android:entryValues="@array/anime_values" />
</PreferenceScreen>

那是我的@string文件。

<resources>
    <string name="app_name">Anime 4 You</string>
    <string name="pref_title_show_notifications">Show Notifications</string>
    <string name="mark_title_anime">Anime</string>
    <string name="mark_summary_anime">Select your Favourite Anime</string>
</resources>

最后一个实际上是我保存自己的价值的地方。 @array

    <?xml version="1.0" encoding="utf-8"?>
<resources>
   <string-array name="anime">
        <item>Bleach</item>
        <item>Naruto</item>
        <item>One Piece</item>
    </string-array>
    <string-array name="anime_values">
        <item>0</item>
        <item>1</item>
        <item>2</item>
    </string-array>
</resources>

我希望你们能帮助我。抱歉,我发布了太多代码。我真的不知道问题出在哪里。

最好的问候

Theeninfam

0 个答案:

没有答案