按下后退按钮时停止片段中的AsyncTask

iro*_*xxx 0 android

我有一个托管片段的活动.按下按钮通过FragmentTransaction从片段A到片段B,并添加到后栈.现在片段B有一个AsyncTask实现,它从一个SD卡加载图像并在加载图像时发布它.如果我按下后退按钮,我的应用程序崩溃..错误报告指示异步任务是问题,因为当按下后退按钮时它仍然加载,所以我的问题是,当按下后退按钮返回到上一个按钮时,我怎么能或在哪里停止AsyncTask片段/活动?..谢谢.

Ner*_*een 12

覆盖片段的onStop()并执行:

protected void onStop() {
    super.onStop();

    //check the state of the task
    if(task != null && task.getStatus() == Status.RUNNING)
        task.cancel(true);
}
Run Code Online (Sandbox Code Playgroud)