android - 当从抽屉导航的每个列表项发出请求时,AsyncTask 执行需要在同一 fragment 中取消

标签 android android-fragments android-asynctask navigation-drawer pageasynctask

我的问题是我需要从抽屉导航的每个列表项中打开相同的 fragment ,并且当 fragment 显示时,如果AsynTask执行是正在进行 那么 AsyncTask 执行应该被取消。

我该怎么做?

我尝试了很多方法来实现这一目标,但每次都失败了。

我用过 asynctaskObject.cancel(true);

有人可以回答一下吗?我希望我能得到结果。

提前致谢。 :)

最佳答案

我找到了问题的解决方案。

我们只需要在 onStop 方法中发出请求,如下所示:

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

这样,每当我们从同一 fragment 上的抽屉导航的列表项请求时, fragment 都会调用 onStop() 方法,而我只需调用 task.cancel(true);

感谢@MysticMagic。我通过您给定的链接解决了这个问题。

关于android - 当从抽屉导航的每个列表项发出请求时,AsyncTask 执行需要在同一 fragment 中取消,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26923535/

相关文章:

android - 从 fragment 开始一个 Activity

android - 在BottomSheetDialogFragment 中以编程方式设置查看高度

java - ProgressDialog 未显示在 onPreExecute() 中

Android Studio 错误 : build scan was not published

android - 两个 NFC 标签分别链接到项目中的两个不同 Activity ?

使用 AWS Cognito、Google+ OAuth 和 AccountManager 的 Android 应用程序

android - 编写一个在android中关闭主应用程序时执行的后台程序

android - 使用 Jetpack Navigation 组件在一个屏幕上显示多个 fragment

android - onPostExecute 不会被调用

java - 如何让我的动画更流畅 Android