Comment élever un toast en AsyncTask, je suis invité à utiliser le Looper
J'ai des tâches accomplies par AsyncTask en arrière-plan. À un certain moment, j'ai besoin d'émettre un Toast que quelque chose est terminé.
J'ai essayé et j'ai échoué parce que
Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
Comment puis-je le faire?
Vous devez vous connecter pour publier un commentaire.
onPostExecute - exécute sur le thread de l'INTERFACE utilisateur
ou
publishProgress()
; dans votre doinbackground ethttp://developer.android.com/reference/android/os/AsyncTask.html
onProgressUpdate
et seulement remarqué l'onPostExecute
vous pouvez porter un Toast à l'intérieur de doInBackground
ajouter ce code où vous voulez Toast apparaissent
Vous pouvez également utiliser runOnUiThread méthode pour manipuler votre INTERFACE utilisateur de threads d'arrière-plan.
Si vous souhaitez utiliser Toast
Vous devez utiliser cette méthode : onProgressUpdate()
Si vous souhaitez afficher le Toast de la thread d'arrière-plan que vous aurez à appeler runOnUiThread de doInBackground. Je ne crois pas qu'il existe une autre manière.
Edit: je retire ce que. Je pense que vous pouvez mettre en œuvre onProgressUpdate, qui fonctionne sur le thread de l'INTERFACE utilisateur, pour montrer le pain grillé et de faire des appels à publishProgress de doInBackground.
Si vous souhaitez afficher le Toast dans doInBackground, vous pouvez l'utiliser dans le OnPostExecute méthode de AsyncTask.