如何解决Android动态数组ListPreference
| 如何从Java端为ListPreference创建动态数组。 我不使用Under Xml。<?xml version=\"1.0\" encoding=\"utf-8\"?>
<resources>
<string-array name=\"listArray\">
<item>Value 1</item>
<item>Value 2</item>
<item>Value 3</item>
</string-array>
<string-array name=\"listValues\">
<item>1</item>
<item>2</item>
<item>3</item>
</string-array>
</resources>
解决方法
将preferences.xml放入res / xml
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<PreferenceScreen xmlns:android=\"http://schemas.android.com/apk/res/android\">
<PreferenceCategory android:title=\"Some title\">
<ListPreference android:key=\"default_category\"
android:title=\"Dynamic categories\" android:summary=\"Dynamic categories summary\"
android:defaultValue=\"0\" />
</PreferenceCategory>
</PreferenceScreen>
在扩展PreferenceActivity的活动中,您可以在onCreate()中执行类似的操作。
ListPreference listPreferenceCategory = (ListPreference) findPreference(\"default_category\");
if (listPreferenceCategory != null) {
ArrayList<Category> categoryList = getCategories();
CharSequence entries[] = new String[categoryList.size()];
CharSequence entryValues[] = new String[categoryList.size()];
int i = 0;
for (Category category : categoryList) {
entries[i] = category.getCategoryName();
entryValues[i] = Integer.toString(i);
i++;
}
listPreferenceCategory.setEntries(entries);
listPreferenceCategory.setEntryValues(entryValues);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。