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


Esperando que ASyncTask termine o que la variable se establezca

Estoy intentando fijar una variable en una actividad al resultado de mi AsyncTask. He leído que no puedo devolver una variable y que tendría que configurar la variable en mi actividad y luego cambiarla en el método onPostExecute .

Mi problema es que después de que el AsyncTask termine necesito utilizar esa variable. Estoy teniendo problemas con esto porque todas las soluciones que he intentado hasta ahora hacen que la interfaz de usuario se congele y luego no respondan.

Lo que he probado hasta ahora:

 while (!task.isCancelled()) { // Wait... } 

Y

 while (variable == null) { // Wait ... } 

¿Es lo que estoy haciendo la mejor manera de pasar una variable de AsyncTask a mi actividad? Si es así, ¿cómo puedo esperar a que la tarea termine en la actividad sin bloquear la interfaz de usuario?

  • Cómo iniciar correctamente la actividad de PostExecute en Android?
  • ASyncTasks bloqueando a otros
  • ASync Task no se puede ejecutar dos veces
  • Uso pesado de Asynctask
  • Android AsyncTask ejemplo y explicación
  • AsyncTaskLoader ejemplo básico. (Androide)
  • Cuando se llama a un archivo php con algún código js de android, el código js es la salida de una llamada
  • ¿Qué significan los tres puntos en "doInBackground (URL ... urls)"?
  • 2 Solutions collect form web for “Esperando que ASyncTask termine o que la variable se establezca”

    Sólo tiene que poner el código que desea ejecutar después de que la variable se cambia en una función y llamar a esta función de onPostExecute.

    Si depende del resultado de un AsyncTask, puede hacerlo. Resultado de objeto = asyncTask.execute (). Get (); El tipo del resultado es el tipo de retorno en su método doInBackground (). Pero entonces su hilo principal estará esperando hasta que la tarea esté completa.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.