【发布时间】:2017-03-11 17:19:27
【问题描述】:
我正在尝试执行 AsyncTask 以从我的 Fragment 类中的服务器下载图像:
GetImageTask task = new GetImageTask (getActivity());
task.execute(new String[]{ imageUrlList.get(0), imageUrlList.get(1), imageUrlList.get(2) });
在doinBackground中:
protected List<RowItem> doInBackground(String... urls) {
rowItems = new ArrayList<RowItem>();
Bitmap map = null;
for (String url : urls) {
map = downloadImage(url);
rowItems.add(new RowItem(map));
}
return rowItems;
}
通过使用此代码,我能够从服务器下载图像,但无法与其他数据信息同步以显示在 Listview 中。
是否可以使用 ArrayList 执行 AsyncTask 背景,或者是否有更好的方法将下载的图像与图像详细信息同步?
【问题讨论】:
-
您可以将任何对象设置为 AsyncTask 的参数,因此 ArrayList 应该可以很好地传递给 doInBackground
-
我正在关注本教程 theopentutorials.com/tutorials/android/dialog/… 并愿意使用 ArrayList
执行任务,而不是“task.execute(new String[] { URL, URL1, URL2 });”
标签: java android multithreading android-asynctask runnable