Comment mettre en œuvre barre de progression lors du chargement de données?
Je veux mettre en œuvre progressBar comme sur l'image ci-dessous.
Droit maintenant, j'ai AsyncTask qui est sperated à partir de fragments de classes, et j'utilise ce AsyncTask pour charger les données, et maintenant je dois mettre en œuvre progressBar boîte de dialogue, mais je veux me débarrasser de ça, parce que je veux faire une meilleure expérience utilisateur.
Je montre que la ProgressBar dialogue dans onPreExecute() la méthode, puis le rejeter onPostExecute.
Donc, comment je peux le mettre en œuvre arrière-plan de la barre de Progression comme sur l'image ci-dessous
Je pense que vous devriez jeter un oeil à cette bibliothèque github.com/johnkil/Android-ProgressFragment
OriginalL'auteur Zookey | 2013-09-17
Vous devez vous connecter pour publier un commentaire.
Mec,
Si vraiment vous voulez juste une barre de progression comme sur la photo que vous avez posté, vous pouvez tout simplement mis la barre de progression indéterminée true à la propriété 🙂
Vous pouvez eighter faire sur le code ou directement sur le xml.
Dans le code:
Dans votre XML, il suffit de mettre l'attribut de durée indéterminée pour vrai.
Ici, c'est une mise en page simple comme un exemple:
My bad, j'ai utilisé progressDialog au lieu de la Barre de progression, mais de toute façon comment je colud montrer onPreExecute, ou de rejeter onPostExecute.
Avez-vous aussi essayé de changer la visibilité de l'attribut? Chaque point de vue a cet attribut...
J'utilise le pb.setVisible(point de Vue.VISIBLE) dans onPreExecute, et pb.setVisible(point de Vue.DISPARU) onPostExecute. Ensuite, j'ai ajouté de la progressBar dans le fichier XML de fragment, et à l'aide du constructeur de AsyncTask j'ai fait référence, entre progressBar dans le fragment, avec celle de classe AsyncTask.
Donc, je n'ai pas votre problème. Pourquoi ne pas vous arrêter à l'aide de la boîte de dialogue de progression et de commencer à l'aide d'une barre de progression. On pourrait faire la même chose que vous allez faire maintenant. Afficher une barre de progression indéterminée sur preExecute, faire des choses, et de se débarrasser de la barre de progression sur postExecute.
OriginalL'auteur Thiago M Rocha
Si vous voulez juste pour montrer les progrès accomplis, jetez un oeil à ce code. Cela peut vous donner une idée:
public class MainActivity extends Activité met en œuvre OnClickListener {
}
Mais si vous voulez montrer comme un dialogue, jetez un oeil à ce code:
public class YoutubeVideoMain s'étend de l'Activité {
}
Peut-être cela peut vous aider.
Vous pouvez toujours avoir de l'instance de la classe AsyncTask dans votre Classe principale à droite.
De toute façon le concept sera le même. Votre classe principale est de toute façon il va appeler la AsncTask lorsque l'application est lancée afin de la boîte de dialogue sera affichée par l'entremise de la classe AsyncTask dans votre cas.
Je ne veux pas de dialogue s'affiche, juste progressBar en arrière-plan, comme vous pouvez le voir sur l'image ci-dessus.
Je ne peux pas créer une progressBar exemple, dans certains fragment de classe, puis l'accès à cette progrssBar de ma classe AsyncTask.
OriginalL'auteur mike20132013
Avec la même asynctask à l'aide de publishProgress()
Cela signifie que la tâche asynchrone doit avoir une référence à la vue qui pouvait être éliminés (nullpointerexception)
OriginalL'auteur Alvaro Ardila
et ses un
ProgressDialog
pasProgressBar
Cette classe a été dépréciée de l'API de niveau 26. ProgressDialog est une boîte de dialogue modale, ce qui évite à l'utilisateur d'interagir avec l'application. Au lieu d'utiliser cette classe, vous devez utiliser un indicateur de progrès comme la ProgressBar, qui peut être intégré dans l'INTERFACE utilisateur de votre application. Alternativement, vous pouvez utiliser une notification pour informer l'utilisateur de la tâche en cours.
OriginalL'auteur Sachin Gadagi