每日一得:fragment不响应onActivityResult

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/swingseagull/article/details/7594419

问题:今天写的程序用了FragmentActivity和Fragment。在Fragment中使用startActivityForResult起了一个activity,activity运行完返回结果后Fragement的onActivityResult却不会被调用。override了host fragment的FragmentActivity的onActivityResult,发现onActivityResult在这里可以被调用到。

Fragment中调用:

                Intent  imgPickerIntent= new Intent(
                        Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                startActivityForResult(imgPickerIntent, 1234);

原因:返回的result先传至Fragment的host FragmentActiivity。这个FragementActivity的onActivityResult函数必须调用super.onActiivtyResult()。super.onActiivtyResult会将未被处理的result消息继续传给其host的fragement的onActiivtyResult。

展开阅读全文

没有更多推荐了,返回首页