我有一个从资源 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());