在 ListPreference 中以编程方式设置默认值

Ale*_*aro 5 android sharedpreferences listpreference

我试图以ListPreference编程方式设置 a 的默认值,但它没有效果。我从 xml 中增加首选项,然后动态设置值。

addPreferencesFromResource(R.xml.pref_general);
ListPreference sizePreference = findPreference("picture_size");
sizePreference.setEntries(entries);
sizePreference.setEntryValues(entryValues);
sizePreference.setDefaultValue(entryValues[0]);

bindPreferenceSummaryToValue(sizePreference);
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以做到这一点而无需覆盖Preference

小智 0

您尝试过 setValueIndex(int index) 吗?

sizePreference.setValueIndex(0);
Run Code Online (Sandbox Code Playgroud)