码迷,mamicode.com
首页 > 移动开发 > 详细

Android 在Fragment中执行onActivityResult不被调用的简单解决方法

时间:2017-07-14 16:33:51      阅读:294      评论:0      收藏:0      [点我收藏+]

标签:div   取数   解决方法   switch   prot   protected   数据   over   stc   

在Android开发中,我们经常会用到FragmentActivity下嵌套多个Fragment,但是在开发过程中会发现在嵌套的Fragment中使用onActivityResult回调方法没有被执行。

网上也有很多解决方法,但是说的都比较麻烦,所以今天给大家推荐一种超简单的用法,

在Fragment和FragmentActivity中都要重写onActivityResult方法,并且要保证两者的请求码或者结果码一致。代码如下:

在FragmentActivity中

 @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        switch(resultCode){
            case 1://该结果码要与Fragment中的一致
              //我这里使用的是根据结果码获取数据,然后加上下面一句代码,其
              //他的什么都不用做
               super.onActivityResult(requestCode,resultCode,data);
                break;
           case 2:
                super.onActivityResult(requestCode,resultCode,data);
                break;
             ......
        }
    }

在Fragment中

   @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        switch (resultCode){
            case 1://该结果码与FragmentActivity中是保持一致的
                //在这里获取你需要的数据
                break;
            case 2:
              
                break;
  
        }
    }

综上所述要解决在Fragment中使用onActivityResult不被调用的问题,只需要做到在Fragment和FragmentActivity中同时重写onActivityResult方法,并且要保证所使用的请求码或者结果码一致就行了。

是不是很简单,有需要的朋友可以参考一下。

Android 在Fragment中执行onActivityResult不被调用的简单解决方法

标签:div   取数   解决方法   switch   prot   protected   数据   over   stc   

原文地址:http://www.cnblogs.com/yzssoft/p/7170516.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!