当我开始Camera
意图时,我注意到onActivityResult
之前调用onResume
在fragment
生命周期。片段的onActivityResult何时针对片段生命周期进行调用?
我也注意到onActivityResult
被调用后onStart
。
但这里是奇怪的部分:我有变量fileUri ==“一些图像路径”。 该变量是
- onStart中的NOT NULL。不要再
- NULL在onActivityResult
- NULL中的onResume
看到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:我正在使用谷歌支持库来支持旧API版本的碎片。
你有没有设法解决这个问题? – aProgrammer
它们可能是同一个'Fragment1'类的不同实例吗?在日志中添加一个'System.identityHashCode(this)'来打印每个实例的标识符 – Xiao