在AsyncTask中收到的每个项后调用notifyDataSetChanged

时间:2016-03-23 11:06:37

标签: android listview android-asynctask

我使用AsyncTask并在doInBackground()我有一个循环,我正在进行大量的网络调用。每次调用都会为我提供一个新的数据对象,我想将其添加到listView

我知道我可以在notifyDataSetChanged()上致电onPostExecute()并使用我的所有项目更新我的列表,但我想知道当我收到时我是否有可能以某种方式致电notifyDataSetChanged()新项目并在同一时刻更新我的listView,而不必等到doInBackground上的所有工作完成。

如果我没有办法用AsyncTask做到这一点,那么有什么方法可以处理类似的东西吗?

谢谢

1 个答案:

答案 0 :(得分:4)

publishProgress(...)致电doInBackground(...)并覆盖onProgressUpdate(...)中的AsyncTask并在那里致电notifyDataSetChanged()

publishProgress(...)调用doInBackground(...)指示AsyncTask在主UI线程上调用它onProgressUpdate(...),因此您可以从那里更新ListView。< / p>