Android LoaderCallbacks.onLoadFinished()在加载完成后不被调用
我创建了一个从Android LoaderCallbacks.onLoadFinished()在加载完成后不被调用,android,android-loadermanager,android-loader,Android,Android Loadermanager,Android Loader,我创建了一个从AsyncTaskLoader派生的加载程序。它99%的时间都能正常工作,但有一种边缘情况,即在AsyncTaskLoader.loadInBackground()成功返回后,不会调用LoaderCallbacks.onLoadFinished()。我不知道edge的情况有什么不同,但我想不出加载程序在这两个调用之间失败的原因。有什么我可能做错的吗?首先,如何运行加载程序很重要: 您可以通过activity.getLoaderManager().initLoader()方法第一次运
AsyncTaskLoader
派生的加载程序。它99%的时间都能正常工作,但有一种边缘情况,即在AsyncTaskLoader.loadInBackground()
成功返回后,不会调用LoaderCallbacks.onLoadFinished()
。我不知道edge的情况有什么不同,但我想不出加载程序在这两个调用之间失败的原因。有什么我可能做错的吗?首先,如何运行加载程序很重要:
您可以通过activity.getLoaderManager().initLoader()
方法第一次运行它,但不能像这样第二次运行它
您需要使用activity.getLoaderManager().restartLoader()
方法来获取更多信息。您也可以从一开始就使用此方法,因为如果尚未初始化加载程序,它将初始化加载程序
强烈建议在活动的onCreate
方法中启动加载程序
如果您需要从其他地方启动加载程序,并且没有调用
onLoadFinished
(例如,在您旋转屏幕之后),请在onCreate
中调用getLoaderManager()
,它确实可以。看看这一点,谢谢,但没有帮助:-/