Fragment中onActivityResult不响应的解决办法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/DDK837239693/article/details/51130680
/*在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()。

阅读更多 登录后自动展开
想对作者说点什么? 我来说一句
相关热词

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