美文网首页
onActivityResult的在实际开发中的运用

onActivityResult的在实际开发中的运用

作者: 杰克船长爱萝莉 | 来源:发表于2017-06-28 16:01 被阅读0次

    今天为大家详解一下在android中常常使用的onActivityResult的方法的使用和介绍。下面说下自己的理解:

    你可以把他理解成一种异步线程处理机制。我们都知道在做网络请求的时候都是异步请求,获取的返回数据需要更新到主线程去赋值到程序的个个控件。而onActivityResult的方法其实和他一样,只不过是变成了一个A.activity启动跳转到另一个新的B.activity的时候,新的B.activity在摧毁的时候(此时可以返回数据也可以不返回数据)此时A.activity要进行获取B的返回数据刷新页面操作。下面上代码:

    A activity中:

    startActivityForResult(newIntent(mContext, B.class),requsecode);

    startActivityForResult:activity 的一种跳转方式

    requsecode:请求码(B用来判断是谁跳转过来,)

    B activity中:

    Intent intent =new Intent();

    intent.putExtra("pathUrl",pathUrl);(键值对,返回给A的数据 也可以为null)

    setResult(resultcode, intent);(resultcode)为结果码,你可以理解为返回数据的代号(我想知道谁返回给A的话必须要有这个代号啊,老祖宗抗战还起了个名字呢。。。。),此句话一定要在finish之前调用

    finish();(最后destory掉 当前的B activity)

    以上代码为B activity的所有干货代码,返回了 A该怎么接受啊,继续向下看。

    A activity 复写onActivityResult方法 接受数据并且刷新

    @Override

    protected void onActivityResult(intrequestCode,intresultCode, Intent data) {

    if(resultCode ==2) {

    if(requestCode ==10) {

    String pathUrl = data.getStringExtra("pathUrl");(获取的返回数据此刻可以为null ,根据你的业务逻辑需要)

    if(!StringUtils.isEmpty(pathUrl)) {

    //刷新数据,赋值控件,想干嘛就干嘛。

    }

    }

    }

    }

    super.onActivityResult(requestCode, resultCode, data);

    }

    总结: onActivityResult经常用于拍照获取返回照片等一些场景中,希望大家熟练使用。安卓数据请求都是异步的,要理解好异步一切So easy。祝大家学习愉快,本文章不足之处,望多多交流。本人新手勿喷。。。。。

    相关文章

      网友评论

          本文标题:onActivityResult的在实际开发中的运用

          本文链接:https://www.haomeiwen.com/subject/rapucxtx.html