当我让应用程序在后台运行时,我的应用程序始终崩溃,然后返回到屏幕上显示该应用程序。我相信这与在onResume()中运行的AsyncTask有关。在这条answer的其中一条评论中,家伙说“保持活动实例的跟踪,并使异步任务等待其不为null”。那么,如何精确地等待它不为空呢?

通常,当您在Fragment中运行AsyncTask并在活动/片段生命周期更改期间正常工作时,引用活动的最安全方法是什么?

最佳答案

首先,您可以在创建片段时使用包含该片段的活动进行类型转换getactivity(),并使mActivity全局变量生效。

MainActivity mActivity = (MainActivity)getActivity();


您可以在Asynctask中进一步使用该变量,并可以进一步检查活动是否完成(不要检查null)

mActivity.isFinished();

08-18 18:56
查看更多