J'ai une TabActivity implémentant TabContentFactory, qui démarre une AsyncTask dans onCreate() pour aller chercher les données pour les onglets. Lorsque la tâche AsyncTask est terminée, onPostExecute() peut directement mettre à jour les éléments de l'interface utilisateur, n'est-ce pas? Ce qui signifie, puisque cette méthode s'exécute dans l'UI-Thread aucune autre synchronisation de thread serait nécessaire lors de l'accès aux éléments d'interface utilisateur? De toute façon, le problème que j'ai, c'est que mon UI-Thread appelle createTabContent() dans le TabActivity alors que la AsyncTask est encore occupée. Je dois ajouter au moins un onglet ou obtenir une exception NullPointerException. Mais comment puis-je ajouter des onglets uniquement lorsque ma tâche asynchrone est terminée et que le fichier ProgressDialog a été supprimé?Android: TabActivity - n'ajoute aucun onglet avant la fin de la tâche AsyncTask
Je serais heureux si quelqu'un pourrait aider ...
Salut, merci pour la réponse! Vous avez dit que je devrais démarrer AsyncTask uniquement après la création complète de TabActivity - c'est exactement mon problème. Je ne veux pas afficher d'onglet avant la fin d'AsyncTask. : -/ – cody
J'ai oublié d'expliquer: Tout fonctionne parfaitement, je veux seulement que l'UI-Thread attende les données. J'ai envisagé d'initialiser le TabActivity avec mes 5 onglets contenant un ScrollView vide chacun puis en ajoutant du contenu à ceux-ci dans le AsyncTask.onPostExecute (..). Mais je ne suis pas sûr que ça marcherait ...? – cody
Ça devrait marcher. Vous pouvez ajouter/modifier du contenu à tout moment après l'initialisation des widgets. Pour plus de commodité, vous devriez afficher ProgressBar et le remplacer par du contenu après son chargement. Vous pouvez mettre à jour progressivement (onglet après onglet) lorsque le contenu est disponible. Voir point 3. ci-dessus. –