Android 从异步任务填充arraylist
我在PreferenceActivity中有以下ListPreference,我希望用从web服务检索的电话号码填充它。我如何才能成功地做到这一点Android 从异步任务填充arraylist,android,arrays,preferenceactivity,preference,Android,Arrays,Preferenceactivity,Preference,我在PreferenceActivity中有以下ListPreference,我希望用从web服务检索的电话号码填充它。我如何才能成功地做到这一点 <PreferenceCategory android:title="@string/category_shownumber"> <ListPreference android:title="@string/shownumber_header"
<PreferenceCategory
android:title="@string/category_shownumber">
<ListPreference
android:title="@string/shownumber_header"
android:summary="@string/shownumber_summary"
android:key="shownumber_list"
android:defaultValue="@string/shownumber_default"
android:entries="@array/listArray"
android:entryValues="@array/listValues" />
</PreferenceCategory>
我希望我的android:entries来自这个类中doInBackground返回的字符串数组:
private class PullNumbersTask extends AsyncTask<Void, Void, String[]>
{
private Context ctx;
public PullNumbersTask(Context context)
{
super();
this.ctx=context;
}
private ProgressDialog Dialog = new ProgressDialog(getParent());
protected void onPreExecute()
{
Dialog.setMessage("Fetching numbers..");
Dialog.show();
}
@Override
protected String[] doInBackground(Void... arg0) {
return (userControl.GetNumbers());
}
protected void onPostExecute(String[] result)
{
// Do stuff with my array
}
私有类PullNumberTask扩展了AsyncTask
{
私有上下文ctx;
公共PullNumberTask(上下文)
{
超级();
这个.ctx=上下文;
}
private ProgressDialog=新建ProgressDialog(getParent());
受保护的void onPreExecute()
{
setMessage(“获取数字…”);
Dialog.show();
}
@凌驾
受保护字符串[]doInBackground(无效…arg0){
返回(userControl.GetNumbers());
}
受保护的void onPostExecute(字符串[]结果)
{
//用我的数组做一些事情
}
有什么建议吗?在onPostExecute中调用它怎么样
listPref.setEntries(result);
(显然,您需要对ListPreference对象的引用)
编辑
要实际获取ListPreference对象,您需要
ListPreference listPref = (ListPreference) findPreference("shownumber_list");
对
addPreferencesFromResource(R.xml.preferences);
的调用必须在此之前完成(很可能是在onCreate()中)真的那么简单吗?如果是的话,太棒了!如果可行,我会给你回复。你还需要设置entryvalues,但基本上就是这样。entryvalues和entry之间的区别是什么?entryvalues是显示的内容,因此可以本地化,entryvalues是支持文本的技术值。这可能太难了请问,我是否有可能让您帮助我获取此特定ListPreference对象的引用?