Использование AsyncTask со списками, содержащими объекты разных типов - PullRequest
0 голосов
/ 09 февраля 2019

Я использую AsyncTask для получения данных из API.У меня есть список в методе onPostExecute, как показано ниже, и он заполнен данными, которые мне нужны.

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

Однако я хочу повторно использовать класс AsyncTask для выполнения других вызовов API, которые будут возвращать списки, содержащие объекты различных типов.

Как мне этого добиться?

1 Ответ

0 голосов
/ 09 февраля 2019

вы должны убедиться, что вы делаете разные асинхронные объекты каждый раз, когда делаете вызов API, поскольку вы не можете просто вызвать один и тот же объект во второй раз.

Кроме этого, вы можете вернуть список объектов иразберите его обратно

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

или просто верните строку

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

Для получения дополнительной информации о Gson

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...