onActivityResult的在实际开发中的运用


今天为大家详解一下在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。祝大家学习愉快,本文章不足之处,望多多交流。本人新手勿喷。。。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,884评论 0 17
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,328评论 25 709
  • 1.什么是Activity?问的不太多,说点有深度的 四大组件之一,一般的,一个用户交互界面对应一个activit...
    JoonyLee阅读 11,041评论 2 51
  • 本文出自 Eddy Wiki ,转载请注明出处:http://eddy.wiki/interview-androi...
    eddy_wiki阅读 8,549评论 0 20
  • 10月24日,周二,晴。今天于老师布置的作业是默写声母韵母和音节,回家后让孩子自己默写,只喊太难了,然后自己让孩子...
    秦昊臻阅读 2,720评论 0 0

友情链接更多精彩内容