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.