D'attente pour les ASyncTask pour terminer ou variable à définir

Je suis en train de mettre une variable dans une activité à la suite de mon AsyncTask. J'ai lu que je ne peut pas retourner une variable et que je dois configurer la variable dans mon activité et ensuite le modifier dans la onPostExecute méthode.

Mon problème est que après l'AsyncTask finis-je besoin pour utiliser cette variable. J'ai de la difficulté avec cela parce que toutes les solutions que j'ai essayé jusqu'à présent la cause de l'INTERFACE utilisateur à geler et puis aller à la non-réponse.

Ce que j'ai essayé jusqu'à présent:

while (!task.isCancelled()) {
    //Wait... 
}

Et

while (variable == null) { 
    //Wait ...
}

Est ce que je fais le meilleur moyen de passer une variable à partir de l'AsyncTask pour mon Activité? Si c'est le cas comment puis-je attendre la fin de la tâche dans l'activité sans verrouiller l'INTERFACE utilisateur?

Vous ne devriez pas être "en attente" pour les AsyncTask. Il devrait faire quelque chose quand c'est fait, probablement dans onPostExecute().
Dans le onPostExecute() méthode, je suis l'évolution de la variable dans mon activité au résultat. Ce que j'essaie de faire est d'attendre jusqu'à ce que la variable est modifiée.
Exactement, ne pas le faire. Le AsyncTask's onPostExecute() lui-même devrait être de commencer la série d'événements que vous souhaitez voir se produire après que la tâche est terminée. Aucun autre code devrait être sur la base de cette tâche.

OriginalL'auteur Dan | 2012-12-26