Я новичок программист Android, экспериментирующий с AsyncTask и выполняющий HTTP-запросы. Моя цель - выполнить HTTP-запрос с помощью AsyncTask. Мой AsyncTask ниже:Как вернуть список с помощью AsyncTask?
private class DownloadFilesTask extends AsyncTask<String, Void, Void> {
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected List<Book> doInBackground(String... params) {
return Network.getBookData(params[0]);
}
@Override
protected void onProgressUpdate(Void... values) {
super.onProgressUpdate(values);
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
}
}
Существует ошибка, которая говорит, что в методе doInBackground(String... params)
, есть попытка использовать несовместимый тип возвращаемого значения. Как я могу исправить это и все еще вернуть метод List<Book>
?
В чем проблема? Нет общей проблемы с возвратом списка, просто помните, что возвращаемое значение передается в onPostExecute. Его не возвращают из выполнения –
читайте здесь сначала -> http://stackoverflow.com/questions/25647881/android-asynctask-example-and-explanation –
Спасибо Charuka. Обновленный вопрос, основанный на этом сообщении. –