Android:如何在从Web下载时向ListView添加数据

时间:2012-03-14 17:05:06

标签: android android-listview android-asynctask adapter

我正在从网上下载一些数据并将它们显示在列表中。

现在我想将项目添加到列表中,当下载意味着整个数据有10个项目(如果下载了一个项目)我希望将这些数据添加到ListView中,以便列表更具吸引力。

我正在使用AsyncTask下载数据,在后台后台我使用自定义适配器将收集的数据绑定到列表中。

2 个答案:

答案 0 :(得分:0)

使用Loaders。您可能希望包含compatibility library以使用该API并仍然支持3.0之前的设备。

答案 1 :(得分:0)

使用这种方法可以帮助您实现这一目标。

通过

加载你的asyntask
new MyAsynTaskname().execute(myarguments);

之后,让你的Asyntask像

 private class DownloadFilesTask extends AsyncTask<URL, Integer, Long> {
     protected Long doInBackground(URL... urls) {
         int count = urls.length;
         long totalSize = 0;
         for (int i = 0; i < count; i++) {
             totalSize += Downloader.downloadFile(urls[i]);
             publishProgress((int) ((i / (float) count) * 100));
         }
         return totalSize;
     }

     protected void onProgressUpdate(Integer... progress) {
         setProgressPercent(progress[0]);
     }

     protected void onPostExecute(Long result) {
         showDialog("Downloaded " + result + " bytes");
     }
 }

在“onProgressUpdate”任务中处理您当前的下载过程。

关注此Android Asyntask