【发布时间】:2012-11-21 00:07:34
【问题描述】:
当我启动Camera 意图时,我注意到onActivityResult 在fragment 生命周期中的onResume 之前被调用。
我还注意到onActivityResult 在onStart 之后被调用。
但这是奇怪的部分:我有变量 fileUri == “一些图像路径”。 这个变量是
- onStart 中不为 NULL。
- onActivityResult 中的NULL
- 在 onResume 中再次不为 NULL
查看 logCat
12-03 14:39:42.418: D/Fragment1(29220): onStart fileUri: file:///mnt/sdcard/OPS_IMAGES/IMG_20121203_143933.jpg
12-03 14:39:42.463: W/PhoneWindow(29220): Previously focused view reported id 2131034140 during save, but can't be found during restore.
12-03 14:39:42.463: D/Fragment1(29220): onActivityResult fileUri is NULL!!!
12-03 14:39:42.468: D/Fragment1(29220): onResume fileUri: file:///mnt/sdcard/OPS_IMAGES/IMG_20121203_143933.jpg
最糟糕的是,这种情况只发生在 50% 的时间里。另外 50% onActivityResult 可以毫无问题地访问 fileUri 值...
我应该如何调试这个?
注意:为了简单起见,我没有包含我的 onResume、onStart、onActivityResult 方法的代码。它们只是具有变量检查和日志调用的基本方法。如果需要,我将编辑问题并添加这些方法。
注意 2:我正在使用 google 支持库来支持旧 API 版本上的片段。
【问题讨论】:
-
你解决这个问题了吗?
-
它们是否可能是同一
Fragment1类的不同实例?在日志中添加System.identityHashCode(this)以打印出每个实例的标识符
标签: android android-fragments fragment android-lifecycle