3 votes

Passage lent entre les activités Android. J'essaie d'utiliser une boîte de dialogue de progression pour montrer son chargement.

Donc, c'est une question difficile. J'ai une activité qui appelle une classe qui appelle un téléchargeur http qui est la tâche asynchrone. Ce que je veux faire, c'est avoir une notification d'écran de chargement "Please wait" pour l'utilisateur pendant que l'activité reçoit toutes les données du web. Je n'ai pas la moindre idée de la façon dont l'écran de chargement peut être appelé. D'habitude, cela se fait dans la tâche asynchrone, mais ma tâche asynchrone n'a pas de vue. Quelle est la meilleure façon de procéder ? Merci de votre aide. Mon client http a un doInBackground() donc je devrais y mettre les on preExecute et postExecute ? Mais alors comment ma méthode principale, qui est enlevée deux fois, pourrait-elle savoir quand elle est en place et quand elle ne l'est pas ?

Ce qui se passe, c'est que lorsqu'on clique sur un bouton, l'activité démarre et commence à traiter toutes les méthodes, mais elle s'attarde sur la première activité jusqu'à ce que le chargement soit terminé. Ce n'est pas ce que je veux, je veux le dialogue de progression. Elle ne s'affiche tout simplement pas. Avez-vous des idées à ce sujet ?

NOUVELLES MISES À JOUR Ok, maintenant je l'ai un peu mieux configuré et au moins le dialogue de progression s'affiche. Le problème est que la tâche asynchrone ne s'arrête pas.

1voto

esfox Points 86

Vous devez utiliser un AsyncTask . Il n'a pas besoin d'avoir une vue, c'est juste un processus d'arrière-plan comme un fil de discussion.

Se référer à ce sur la façon d'utiliser une AsyncTask correctement avec un ProgressDialog . Faites vos méthodes dans le doInBackground() de l'AsyncTask.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X