【发布时间】:2011-12-10 05:38:25
【问题描述】:
我有一个活动,它在创建时调用 initLoader 以加载活动将显示的数据。通常,这可以正常工作。我设置了断点来查看一切发生的顺序。首先我调用 initLoader,然后我得到 OnCreateLoader 回调,然后是 OnLoadFinished 回调,然后一切都很好。
但是,我注意到,如果我在我的 Android 上更改方向,我不会收到 OnCreateLoader 回调或 OnLoadFinished 回调,导致页面上没有显示任何数据。我仍然在 initLoader 调用上得到断点,所以我知道这正在发生,但我没有收到错误,也找不到任何文档解释为什么在调用 initLoader 后我不会得到回调。
有趣的是,如果我返回到原来的方向,我确实会收到回调。
所以,总结一下:
我以纵向开始活动
- 我调用initLoader
- 我得到 onCreateLoader 和 onLoadFinished 回调
然后我换成横向
- 我调用initLoader
- 没有 onCreateLoader 或 onLoadFinished 回调
我改回纵向
- 我调用initLoader
- 我得到 onCreateLoader 和 onLoadFinished 回调
同样,如果我以横向模式启动活动,我会收到回调。然后,如果我切换到肖像,我不会。然后,如果我切换回横向,我会再次收到回调。
有人知道发生了什么吗?
【问题讨论】:
标签: android callback orientation loader