我有一个从资源 xml 创建的列表首选项。我添加了创建对话框的首选项,用户可以在其中向 listPreference 添加值。
使用这些方法我增加了新的价值:
entries = getEntries();
entryValues = getEntryValues();
当用户向 listpreference 添加值时,它会显示。但是当preferenceScreen 正在重新创建新值时消失了。
我怎样才能保存这些新值?
我有一个从资源 xml 创建的列表首选项。我添加了创建对话框的首选项,用户可以在其中向 listPreference 添加值。
使用这些方法我增加了新的价值:
entries = getEntries();
entryValues = getEntryValues();
当用户向 listpreference 添加值时,它会显示。但是当preferenceScreen 正在重新创建新值时消失了。
我怎样才能保存这些新值?
问题是,当您重新打开 时PreferenceScreen,它会从 XML 加载ListPreference' 值。setEntries()您可以使用 的和setEntryVaues()方法更改此行为ListPreference。当然,您需要以某种方式存储用户输入的所有值及其索引。您可以使用数据库或SharedPreferences用于它。希望这可以帮助。
编辑
将 a 的值保存ListPreference到SharedPreferences:
preferences.edit().putString(listPreference.getKey(), listPreference.getValue());