有关setRetainInstance(true)的Android bug的解决方法

时间:2011-12-13 07:38:34

标签: android android-fragments

请查看此问题:http://code.google.com/p/android/issues/detail?id=20791

项目(https://github.com/kaciula/BugRetain)使用CursorLoader通过内容提供商从数据库中获取2个值,并在屏幕上显示它们。方案是这样的:从活动A,转到活动B,切换一次方向并返回到活动A.来自db的值不再显示。

任何人都可以为此问题提供解决方法吗?问题不仅出现在CursorLoader中,而是出现在任何加载器上。由于这个错误,我无法使用使用setRetainInstance的片段编写应用程序,并且可以在两个方向上使用。我真的需要一个解决方法,直到Android人员解决问题。有什么想法吗?

1 个答案:

答案 0 :(得分:4)

如果使用Loaders,请勿将片段设置为可保留。如果需要在配置更改之间存储一些数据,请创建另一个可保留的片段并将此数据传递给他。

可以在此处找到类似的示例:FragmentRetainInstanceSupport。但是此示例使用额外的片段进行线程处理。在您的情况下,这个额外的片段将用作数据容器。