我创建了一个来自AsyncTaskLoader
的加载器。它在99%的情况下都可以工作,但是有一个边缘情况,LoaderCallbacks.onLoadFinished()
成功返回后不会调用AsyncTaskLoader.loadInBackground()
。我不知道边缘情况有什么不同,但我想不出任何原因导致加载器在这两个调用之间失败。有什么我可能做错了吗?
答案 0 :(得分:0)
首先,运行Loader非常重要:
您可以通过activity.getLoaderManager().initLoader()
方法首次运行它,但是您不能像这样第二次运行它。
您需要使用activity.getLoaderManager().restartLoader()
方法进一步。您也可以从一开始就使用此方法,因为如果它尚未初始化,它将启动您的加载器。
强烈建议您在Activity onCreate
方法中启动加载器。
如果您需要从其他地方启动加载程序,并且未发生对onLoadFinished
的调用(例如,在您旋转屏幕后),请拨打getLoaderManager()
中的onCreate
来电话相反,它真的可以help。