android如何通知活动来自后台

时间:2011-04-08 04:20:58

标签: android android-emulator

我有一个tab_Host有三个活动(Activity1,Activity2,Activity3),我正在从服务器下载XML和图标大小的图像。我想刷新每50个图像下载的列表视图,我需要刷新具有ListView的Activity2以在后台列表视图中显示图标和文本(而不是来自UI线程)

1 个答案:

答案 0 :(得分:2)

无法粘贴代码,但我可以为您提供我们所做的工作。

假设:您正在调用活动2中的xml数据[我更喜欢它作为B]。

现在你将要做的是

  1. 获取AsyncTask类[TaskA],您将在此处下载并处理您的数据。由于这里没有更多细节,我只能告诉你这么多事情。

  2. 使用适当的参数在活动B中创建TaskA的对象。

  3. 通过调用taskA.execute从活动B启动AsyncTask。

  4. 在您的异步任务中,您必须牢记三个方法并密切合作 一个。 doInBackground(Params ...)该方法将成为异步任务的入口点, 湾onPostExecute(Result)这将确定您的任务已完成 C。 onProgressUpdate(整数...进度)将更新您的进度活动。这是下载每50条记录后您需要的方法

  5. 当您从活动中调用task.execute时,将调用doInBackground。

  6. 当您下载并处理50个图像时,调用publishProgress()将调用onProgressUpdate(Integer ... progress),您必须通知您的活动,该列表将被更新。如果您可以从异步任务访问列表适配器对象,那将很容易。只需编辑列表适配器的相对对象即可。调用List.notifyDataSetChanged(),这样它就会自动在列表中更新。