Mat*_*ler 20 android loader android-fragments android-loadermanager android-fragmentactivity
我想弄清楚我是否在装载机方面做错了.我正在使用支持库,我有一个片段,在onCreate()中调用initLoader()将其自身设置为LoaderCallbacks,但是在旋转时它会在onLoadFinished()中接收两次结果,一次调用init (并且它已经拥有数据),并且一旦FragmentActivity循环遍历onStart()中的所有Loaders并提供结果,因为它已经拥有数据.
如果我只调用init一次(在首次启动Fragment时),它不会将自己设置为Loader的回调,因此它根本不会接收对onLoadFinished的调用.好像onLoadFinished应该只被调用一次,因为onLoadFinished()可以完成一些昂贵的事情(例如清除列表适配器等),所以我只想弄清楚这是一个bug还是我是只是在错误的时间或其他地方调用init.
任何人都对此问题有任何见解?
我自己也遇到同样的问题,没有好的解决方案。这似乎是 Android 框架中的错误,这里有一个类似的线程,其中建议的解决方案是将 initLoader() 放在 onResume() 中 - 我已经尝试过了,它有效,onLoadFinished() 仅被调用一次: Android: LoaderCallbacks.OnLoadFinished 被调用两次
归档时间: |
|
查看次数: |
7588 次 |
最近记录: |