java - AsyncTask 的 onPostExecute() 方法可以有多个参数吗?
问题描述
我有一个关于 AsyncTask 的问题。我知道我可以将 1 个或多个参数传递给“doInBackground”方法,但是如何将多个值返回给“onPostExecute”方法,因为我从两个不同的页面下载数据并将结果返回到主线程。我知道如何将数据返回到主线程(带有接口),但不知道如何将下载结果传递给 postExecute
解决方案
如果它们不同,您可以轻松地将两个响应封装在一个对象中,并将这个新类用作AsyncTask的 Result 类型(例如AsyncTask<URL, Void, MyCompositeType
)。
如果它们具有相同的类型或相同的接口,您可以使用 ArrayList(例如AsyncTask<URL, Void, Arraylist<Response>>
)。
您必须在doInBackground
方法中构建数据。
推荐阅读
- javascript - 如何解决“元素类型无效”错误?
- php - 使用 Woocommerce 产品创建下拉菜单并根据选择自动将产品添加到购物车
- api - 快照为空颤动
- notifications - 我如何向我所有的松弛用户发送消息
- node.js - 我无法在我的输入中输入任何信息
- azure-active-directory - 将组所有者作为组成员删除的 Powershell 脚本 Azure AD
- angular - 我应该为 Web 应用程序使用 Spring Cloud Gateway 还是 Ngnix
- r - 计算相对于 XY 坐标的最近点
- javascript - 更改获取发布
- javascript - 获取语音频道中的用户数?不和谐.js