uso studio onprogressupdate onpreexecute method hilos funciona example doinbackground curso como asynctask android android-fragments android-asynctask navigation-drawer pageasynctask

android - studio - La ejecución de AsyncTask debe cancelarse en el mismo fragmento cuando se realiza una solicitud desde cada elemento de la lista del Cajón de navegación



onpreexecute method in android (2)

Para que forzar la cancel() funcione, deberá verificar si se canceló en doInBackground.

@Override protected String doInBackground(String... params) { . . if(isCancelled()){ break; } . }

Consulte esto: por qué Android AsyncTask no se detiene después de ser cancelado

Espero eso ayude.

Mi pregunta es que necesito abrir MISMO FRAGMENTOS en cada elemento de la lista del Cajón de navegación, y cuando se muestra el fragmento, si la ejecución de AsynTask es Activada, la ejecución de AsyncTask debe cancelarse.

¿Cómo puedo hacerlo?

Intenté muchas maneras de lograr esto, pero fallé cada vez.

Usé asynctaskObject.cancel (verdadero);

Entonces, ¿alguien puede responder? Espero que obtenga el resultado.

Gracias por adelantado. :)


encontré la solución de mi problema.

Solo debemos realizar una solicitud en el método onStop como se muestra a continuación:

@Override public void onStop() { super.onStop(); if(asyncTaskObject!=null){ asyncTaskObject.cancel(true); } }

De esta manera, cada vez que solicitemos el ítem de la lista del cajón de navegación en el mismo fragmento, en ese momento, llamaremos al método de excepción de fragmento () y solo llamaré a task.cancel (verdadero);

Y gracias a @MysticMagic. resolví este problema desde tu enlace dado.