android-带有片段的不完整异步任务

android-带有片段的不完整异步任务,android,android-asynctask,fragment,Android,Android Asynctask,Fragment,我有一个内容片段,其中包含一个gridview,并用异步任务填充gridview 我有三个按钮,它们用不同的值创建相同的片段,当按钮1创建片段并启动AsyncTask时,我在完成任务之前单击按钮2,它会在适配器getCount()函数中抛出空指针异常 Example Button 1 > new DFragment("Cars"); Button 2 > new DFragment("Bikes"); Button 3

我有一个内容片段,其中包含一个gridview,并用异步任务填充gridview

我有三个按钮,它们用不同的值创建相同的片段,当按钮1创建片段并启动AsyncTask时,我在完成任务之前单击按钮2,它会在适配器
getCount()
函数中抛出空指针异常

        Example
        Button 1 > new DFragment("Cars");
        Button 2 > new DFragment("Bikes");
        Button 3 > new DFragment("Shoes");
当您单击按钮1,然后立即单击按钮2时,它会在BaseAdapter中抛出nullpointer异常

若创建了片段的新实例,我如何解决这个问题并取消旧的AsyncTask


谢谢

您可能应该重写异步任务的on cancel函数,并根据您的需要使用它(因此它不会在后期执行主ui线程)。我将异步任务保留在静态对象中,并控制它是否正在运行,如果是,则取消