/*在fragment的管理类中,我们要实现这部操作,而他的主要作用是,当D这个activity回传数据到
这里碎片管理器下面的fragnment中时,往往会经过这个管理器中的onActivityResult的方法。*/
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
/*在这里,我们通过碎片管理器中的Tag,就是每个碎片的名称,来获取对应的fragment*/
Fragment f = fragmentManager.findFragmentByTag(curFragmentTag);
/*然后在碎片中调用重写的onActivityResult方法*/
f.onActivityResult(requestCode, resultCode, data);
}
Fragment中onActivityResult不响应的问题。 上网搜索一般处理方法是在与Fragment绑定的FragmentActivity中重写onActivityResult方法。返回的result先传至Fragment的host FragmentActiivity。这个FragementActivity的onActivityResult函数必须调用 super.onActiivtyResult()。super.onActiivtyResult会将未被处理的result消息继续传给其host的 fragement的onActiivtyResult。但是我这儿不管用,不知道什么原因。
解决方法就是在Fragment中直接调用startActivityForResult()方法,而不是调用 getActivity().startActivityForResult()。
Fragment中onActivityResult不响应的解决办法
最新推荐文章于 2021-05-06 16:32:57 发布