2012-03-14 89 views
0

我正在从网上下载一些数据并将其显示到列表中。Android:如何在从网上下载时向ListView添加数据

现在我想添加项目到列表当它的下载意味着如果整个数据有10个项目,如果一个下载我想要在ListView中添加数据,以便列表将变得更具吸引力。

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

+0

拥有的AsyncTask公布每个项目的进度,比如'publishProgress(myNewItem)'和'onProgressUpdate',说项目添加到您的listAdapter – njzk2 2012-03-14 17:30:43

回答

0

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

+0

我会检查这个out.But我想要使用我现有的代码。任何想法与asynctask – 2012-03-14 17:16:59

+0

加载程序将与您的AsyncTask一起工作。 – elevine 2012-03-14 18:08:27

+0

好吧然后我会尝试它。 – 2012-03-14 18:24:34

0

使用这种方法它会帮助你这样做。

通过

new MyAsynTaskname().execute(myarguments); 

装入asyntask之后,让你的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

+0

我的问题是如何逐项添加项目。当第二次下载时第二次下载时添加一个。 – 2012-03-14 17:13:04

+0

你想让我给你的代码吗?只需使用处理程序设置时间间隔。点击此链接[链接](http://www.tutorialforandroid.com/2009/01/using-handler-in-android.html)。 – 2012-03-14 17:28:51

相关问题