首页 > 解决方案 > AsyncTask 的 onPostExecute() 方法可以有多个参数吗?

问题描述

我有一个关于 AsyncTask 的问题。我知道我可以将 1 个或多个参数传递给“doInBackground”方法,但是如何将多个值返回给“onPostExecute”方法,因为我从两个不同的页面下载数据并将结果返回到主线程。我知道如何将数据返回到主线程(带有接口),但不知道如何将下载结果传递给 postExecute

标签: javaandroidkotlin

解决方案


如果它们不同,您可以轻松地将两个响应封装在一个对象中,并将这个新类用作AsyncTask的 Result 类型(例如AsyncTask<URL, Void, MyCompositeType)。

如果它们具有相同的类型或相同的接口,您可以使用 ArrayList(例如AsyncTask<URL, Void, Arraylist<Response>>)。

您必须在doInBackground方法中构建数据。


推荐阅读