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()

  • Selector, lista de capas y forma / mapa de bits en el mismo xml
  • Shape Drawables en dispositivos Samsung por defecto a fondo negro
  • Método WebView + WebChromeClient onCreateWindow no se llama a target = "_ blank"
  • ¿Cómo mejorar la precisión de los sensores de acelerómetro y brújula?
  • La cámara no funciona / ahorra al usar Uri de caché como MediaStore.EXTRA_OUTPUT
  • Dimensionamiento del caché LRU según las capacidades del dispositivo y la memoria libre
  • ¿Cómo puedo hacer eso?

  • Android Cómo implementar la Hoja inferior de Documentos de diseño de materiales
  • ¿Cómo puedo "reiniciar" una aplicación de Android mediante programación?
  • Android: Kotlin con Butterknife
  • Layout_gravity no funciona en formato lineal horizontal
  • División de clases grandes con clases internas en Java
  • Creación de un adaptador a un CustomView
  • 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.