首页 > 代码库 > Android-Fragment的onActivity诡异Bug

Android-Fragment的onActivity诡异Bug

1.经常会看见Activity嵌套Fragment中,从Fragment打开另一个Activity,

并重写Activity与Fragment的onActivityResult()方法时,发现该Fragment的onActivityResult()方法不执行,

而执行Activity的onActivityResult()方法.究其原因,就是打开另一个Activity的方式不对.

在Activity中,有activity.startActivityForResult(intent, requestCode);

在Fragment中,同样也有f.startActivityForResult(intent, requestCode);

也就是说 谁打开就调用谁的onActivityResult();


2.最近在Fragment中做一个图片获取的功能,也就是打开系统的图片检索功能 把选中的图片获取到.

但该功能是在主Activity的Fragment下,因为我们经常把主Activity的加载模式修改成SingleInstance,这时,

就会导致在Fragment打开图片检索的Activity就已经执行onActivityResult(),而系统的resultCode返回了默认的取消常量.

解决方案就是把加载模式还原成默认的.

Android-Fragment的onActivity诡异Bug