gpt4 book ai didi

处理 UI 的 Android 异步任务

转载 作者:行者123 更新时间:2023-11-29 15:31:06 26 4
gpt4 key购买 nike

我是安卓开发的新手。我想完成如下描述的任务:

  • 调用外部类(其他类将扩展AsyncTask)来解析xml并通过请求web服务接收json的主要 Activity 并启动一个 ProgressDialog
  • 该类在其doInBackground 方法中执行xmljson 解析。
  • 在解析完成后的onPostExecute方法中,关闭主 Activity 中设置的ProgressDialog
  • 我可以通过将 ProgressDialog 对象传递给解析类并在其 onPostExecute 方法中关闭同一对象来完成此操作。

我认为将 UI 对象的实例作为参数传递并不是一种好的编程方法,我希望一定有其他方法可以解决。

请推荐。谢谢

最佳答案

解耦这些的最简单方法是使用接口(interface):

  1. 使用一个方法定义一个回调接口(interface)(我们称之为 WorkDoneListener):workDone()
  2. 声明您的 Activity 类以实现 WorkDoneListener 并实现 workDone() 以关闭对话框。
  3. 定义 AsyncTask 的构造函数以接受 WorkDoneListener。将引用存储在成员字段中。
  4. onPostExecute中,调用监听器的workDone()方法。

关于处理 UI 的 Android 异步任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6616027/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com