我有以下问题。在我的应用程序中,我正在 AsyncTask 中加载数据。问题是,当用户现在单击图标打开导航抽屉并打开另一个片段时,应用程序崩溃了。当 AsyncTask 完成后,应用程序不会崩溃。遇到的问题是,当我切换片段时(片段总是相同的,只是另一个内容依赖于 NavigationDrawer 项单击)应用程序崩溃。
我想问题是,异步任务没有完成,我再次调用同一个片段想要显示不同的数据。
那么我的处理方法是什么?为每个不同的视图使用不同的片段?我认为每次使用相同的片段要容易得多,因为它只是显示不同的数据,但结构、布局等都是相同的。只是它获得的数据不同。
我还考虑过以某种方式“阻止”用户在执行异步任务时执行任何其他操作,但仍向他显示应用程序正在处理。但这不是 AsyncTask 的定义。
你会如何处理它?为每个不同的显示使用不同的片段?或者怎么做?以某种方式阻止?如果用户单击导航抽屉的项目,则 asynctask 需要停止其所有操作(如果已完成某些操作),然后重新开始执行所有操作。有没有办法做到这一点?
请注意,执行异步的片段和调用片段的活动位于两个不同的文件中