【发布时间】:2011-09-19 17:18:49
【问题描述】:
当使用自定义AsyncTaskLoader从Web服务下载数据时,如果我在加载过程中按HOME按钮然后再次进入应用程序,则不会调用onLoadFinished()方法。我的片段在onActivityCreated() 中调用setRetainInstance(true),它还以相同的方法调用getLoaderManager.initLoader(0, null, this)(推荐)。
在测试时,我看到返回片段时onActivityCreated() 未被调用,所以这可能是onLoadFinished() 未被调用的原因。但是initLoader() 方法还可以放在哪里呢?我在几个地方读到过不应在onResume() 中调用它。
那么,有什么想法吗?我的应用程序的各个屏幕上有很多加载程序,我需要以一种优雅的方式解决这个问题。
【问题讨论】:
-
您在哪里读到不应在
onResume()中调用initloader,因为这正是解决框架错误 code.google.com/p/android/issues/detail?id=63179 所需的内容 -
@faizal 我真的不记得了。我很久以前就不再使用装载机了。许多专家开发人员根据经验建议不要使用加载器来获取网络数据。