android - por - ¿Cómo funciona AsyncTask<String, Void, Void>?
pasar contactos de iphone a android por bluetooth (5)
AsyncTask funciona así
onPreExecute -> doInBackGround -> onPostExecute
Descuidar progressUpdates, etc., tan pronto doInBackGround se complete, el control pasa a onPostExecute. Un retorno simple interrumpe este flujo y causa el error. Para resolver esto, reemplace con return null Dado que es un vacío. Los parámetros de declaración de retorno se pasan a onPostExecute como parámetro, donde puede usarlo para ver si ha sido exitoso.
¿Alguien podría decirme qué está mal aquí?
public class BackgroungTask extends AsyncTask<String, Void, Void> {
public Void doInBackground(String... params) {
//tasks
return; //error occurs here!
}
public void onPostExecute(Void result) {
//codes
}
}
La clase anterior no depende de los valores de retorno. Entonces onPostExceute () simplemente ejecuta códigos escritos allí.
¡Gracias por adelantado!
Creo que debes usar "return null"; en lugar de simplemente "devolver", como Void
es una clase alrededor del valor "vacío" habitual.
En doInBackGround
return null, como Void
es un objeto (does not = 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
}
}
solo devuelve nulo.
public class BackgroungTask extends AsyncTask<String, Void, Void> {
public Void doInBackground(String... params) {
//tasks
return null;
}
public void onPostExecute(Void result) {
//codes
}
}