将AsyncTask与包含不同类型对象的列表一起使用

时间:2019-02-09 20:22:25

标签: android android-asynctask

我正在使用AsyncTask从API获取数据。我在如下所示的onPostExecute方法中具有列表,并且该列表中填充了我需要的数据。

@Override
protected void onPostExecute(List<Item> items) {
    Log.d("Here", Integer.toString(items.size()));       
}

但是,我想重用AsyncTask类来执行其他API调用,这将返回包含不同类型对象的列表。

我该如何实现?

1 个答案:

答案 0 :(得分:0)

您必须确保每次进行API调用时都创建不同的异步对象,因为您不能仅第二次调用同一对象。

除此之外,您还可以返回对象列表并将其解析回

@Override
protected void onPostExecute(List<Object> items) {
    //here cast it back to desired object/ pojo      
}

或仅返回String

@Override
protected void onPostExecute(String items) {
    //use Gson to parse it back to desired object / pojo     
}

有关Gson

的更多信息