【发布时间】:2016-02-08 12:05:41
【问题描述】:
我在 Fragment 的 onCreate() 上初始化一个加载器,如下所示:
if (null == savedInstanceState) {
Bundle args = new Bundle();
getLoaderManager().initLoader(0, args, this);
}
嗯,它工作正常,数据通常返回onLoadFinished()。但是,如果我在加载程序尚未加载数据时更改方向,则永远不会调用 onLoadFinished()。
拜托,有人可以向我解释为什么吗?谢谢
【问题讨论】:
-
你为什么不在
onActivityCreated中使用它而不使用if呢? ... initLoader 应该在方向改变后返回缓存结果 -
我会尝试
onActivityCreated,但我认为它也应该适用于onCreate()。 -
@Selvin 很好,我尝试不使用
if声明:它可以工作,即使在 onCreate() 中也是如此。我认为原因是每次都需要重新初始化 Loader 才能返回缓存的数据。您的评论基本上是正确的,将其发布为回复,我会接受。谢谢。
标签: android android-fragments android-loadermanager android-loader