Comment AsyncTask<String, Void, Void> travail?
Quelqu'un pourrait-il me dire ce qui ne va pas ici?
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 classe ci-dessus ne dépend pas des valeurs de retour. Donc onPostExceute() il suffit d'exécuter les codes de l'écrit là.
Merci d'avance!
- Consultez ce site, 1. Asynchrone Task_tutorial 2. Exemple avec Explication de la Tâche Asynchrone
Void
etvoid
sont différents, reportez-vous à grepcode.com/file/repository.grepcode.com/java/ext/...
Vous devez vous connecter pour publier un commentaire.
il suffit de retourner la valeur null.
Je pense que vous devez utiliser le "return null;" au lieu de "return;", comme
Void
est une classe autour de l'habituel "vide" de la valeur.Dans
doInBackGround
retourner null, commeVoid
est un objet (n'est pas = void)..null
là.AsyncTask fonctionne comme ceci
Négliger progressUpdates etc, dès doInBackGround est terminée, le contrôle passe à onPostExecute. Un simple retour perturbe ce flux d'où l'origine de l'erreur. Pour Résoudre ce problème, remplacez-le avec retourner la valeur null Depuis sa un vide. L'instruction return paramètres sont transmis à onPostExecute comme paramètre, où vous pouvez l'utiliser pour voir si elle a été couronnée de succès.
doInBackGround
renvoie la valeur nullcochez cette Android dev doc pour tâche asynchrone dans andorid