Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo levantar un pan tostado en AsyncTask, se me pide que use el Looper

Tengo tareas completadas por AsyncTask en segundo plano. En algún momento necesito emitir un brindis que algo se ha completado.

He intentado y he fallado porque Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()

¿Cómo puedo hacer eso?

  • ¿Cómo configurar la inyección de dependencia con Dagger para otras cosas que no sean Actividades y Fragmentos?
  • ¿Es posible usar AsyncTask en una clase de servicio?
  • ¿Qué biblioteca de tareas prioritarias de Android (Asynk Task, Multithreading) recomendaría para Android?
  • Cómo mostrar tostadas en AsyncTask en android
  • AsyncTask.executeOnExecutor () antes de API Nivel 11
  • Cómo implementar un escucha
  • ¿Cuál es la diferencia entre Handler, Runnable y Threads?
  • 6 Solutions collect form web for “Cómo levantar un pan tostado en AsyncTask, se me pide que use el Looper”

    OnPostExecute – se ejecuta en el subproceso de la interfaz de usuario o publishProgress() ; En su doinbackground y

     protected void onProgressUpdate(Integer... progress) { } 

    http://developer.android.com/reference/android/os/AsyncTask.html

    También puede utilizar el método runOnUiThread para manipular su interfaz de usuario desde los subprocesos de fondo.

    Usted puede brindar dentro de doInBackground

    Agregue este código donde desea que Toast aparezca

     runOnUiThread(new Runnable() { public void run() { Toast.makeText(<your class name>.this, "Cool Ha?", Toast.LENGTH_SHORT).show(); } }); 

    Si desea utilizar Toast You debe utilizar este método: onProgressUpdate ()

     protected Integer doInBackground(Void...Params) { int check_point = 1; publishProgress(check_point); return check_point; } protected void onProgressUpdate(Integer integers) { if(integers == 1) { Toast.makeText(classname.this, "Text", 0).show(); } 

    Si desea mostrar el Toast del hilo de fondo, tendrá que llamar a runOnUiThread desde doInBackground. No creo que haya otra forma.

    Edit: Yo lo tomo de nuevo. Creo que se puede implementar onProgressUpdate, que se ejecuta en el subproceso de interfaz de usuario, para mostrar el Toast y hacer llamadas a publishProgress de doInBackground.

    Si desea mostrar el Toast en doInBackground, puede utilizarlo en el método OnPostExecute de AsyncTask.

     protected void onPostExecute(String file_url) { Toast.makeText(getApplicationContext(),"Your Message", Toast.LENGTH_LONG).show(); pDialog.dismiss();//dismiss the progress dialouge } 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.