Как работает AsyncTask <String, Void, Void>?

Может ли кто-нибудь сказать мне, что здесь происходит не так?

public class BackgroungTask extends AsyncTask<String, Void, Void> { public Void doInBackground(String... params) { //tasks return; //error occurs here! } public void onPostExecute(Void result) { //codes } } 

Вышеуказанный класс не зависит от возвращаемых значений. Поэтому onPostExceute () просто выполняет коды, написанные там.

Заранее спасибо!

Просто верните null.

 public class BackgroungTask extends AsyncTask<String, Void, Void> { public Void doInBackground(String... params) { //tasks return null; } public void onPostExecute(Void result) { //codes } } 

Я думаю, вы должны использовать «return null»; Вместо «return», поскольку Void – это класс вокруг обычного значения «пустота».

В doInBackGround возвращает null, поскольку Void – это объект (не = void) ..

 public class BackgroungTask extends AsyncTask<String, Void, Void> { public Void doInBackground(String... params) { //tasks return null; //error occurs here! } public void onPostExecute(Void result) { //codes } } 

AsyncTask работает так

OnPreExecute -> doInBackGround -> onPostExecute

Пренебрегая progressUpdates и т. Д., Как только doInBackGround будет завершен, управление переходит к onPostExecute. Простой возврат нарушает этот поток, что приводит к ошибке. Чтобы решить эту проблему, замените ее на возврат null. Так как это пустое. Параметры оператора return передаются в параметр onPostExecute как параметр, где вы можете использовать его, чтобы увидеть, что он был успешным.

doInBackGround возвращает значение null

 public class BackgroungTask extends AsyncTask<String, Void, Void> { .... .... } 

Проверьте этот Android-doc для асинхронной задачи в andorid