Android的动态数组列表preference [英] Android Dynamic Array ListPreference
本文介绍了Android的动态数组列表preference的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何创建动态数组对于目录preference从Java端。
我不使用下面的XML。
< XML版本=1.0编码=UTF-8&GT?;
<资源>
<字符串数组名=listArray>
<项目>价值1< /项目>
<项目>价值2'; /项目>
<项目>价值3'; /项目>
< /字符串数组>
<字符串数组名=listValues>
<项目> 1< /项目>
<项目> 2'; /项目>
<项目>第3版; /项目>
< /字符串数组>
< /资源>
解决方案
将preferences.xml在RES / XML
< XML版本=1.0编码=UTF-8&GT?;
< preferenceScreen的xmlns:机器人=http://schemas.android.com/apk/res/android>
< preferenceCategory机器人:标题=有些标题是>
<表preference安卓键=default_category
机器人:标题=动态类机器人:总结=动态分类汇总
安卓:设置defaultValue =0/>
< / preferenceCategory>
< / preferenceScreen>
在你的活动,扩展了preferenceActivity你做这样的事情中的onCreate()。
目录preference列表preferenceCategory =(名单preference)找到preference(default_category);
如果(名单preferenceCategory!= NULL){
ArrayList的<类别>所属分类= getCategories();
CharSequence的条目[] =新的String [categoryList.size()];
CharSequence的entryValues [] =新的String [categoryList.size()];
INT I = 0;
对于(类别分类:所属分类){
项[I] = category.getCategoryName();
entryValues [I] = Integer.toString(ⅰ);
我++;
}
名单preferenceCategory.setEntries(项);
名单preferenceCategory.setEntryValues(entryValues);
}
How to Create Dynamic Array For ListPreference From Java Side.
I Don't use Below 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>
解决方案
Place preferences.xml in 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>
In your activity that extends PreferenceActivity you do something like this in 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);
}
这篇关于Android的动态数组列表preference的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文