首页 > 解决方案 > SharedPreference.Editor 与 multiSelectListPreference

问题描述

所以我有一个 multiSelectListPreference 并且我想在用户更改他的偏好时使用 SharedPreference.Editor 来更改我的数据库中的 multiSelectListPreference 的值。为此,我对每个选项使用 putBoolean 函数。但是我不知道我应该使用什么作为第一个参数(问号在哪里)。

在 android 文档中,他们说第一个参数应该是要修改的首选项的名称。multiSelectListPreference 的 android:key 是“options_list”。如何在我的 multiSelectListPreference 中获取每个单独选项的键?

private SharedPreferences.Editor spPreferencesEditor;

spPreferencesEditor.putBoolean("?", preferences.getBooleanOfOption1());
spPreferencesEditor.putBoolean("?", preferences.getBooleanOfOption2());
spPreferencesEditor.putBoolean("?", preferences.getBooleanOfOption3());

标签: androidmysqlandroid-studiosharedpreferencesmultiselectlistpreference

解决方案


你应该在那里放一个默认的名字,你喜欢的每一个名字。重要的是,不同股份偏好的名称应该不同,这样才能被识别。例如,您可能有:

    spPreferencesEditor.putBoolean("1", preferences.getBooleanOfOption1());
 spPreferencesEditor.putBoolean("2", preferences.getBooleanOfOption2());
 spPreferencesEditor.putBoolean("3", preferences.getBooleanOfOption3());

推荐阅读