INTENT类型,多个Activity交互

工作终于暂时告一段落,对于一个初学者来说,要不断地提升自己,不断努力!今天对自己说加油!

学习新知识,对于基础薄弱的我,从看别人的代码开始,一点点学习:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (data == null) {
return;
}
if (100 == requestCode) {
//99-增加成功
if (99 == resultCode) {

//此处省略当99 == resultCode的处理

}

}}

完全不知道protected void onActivityResult(int requestCode, int resultCode, Intent data)是什么意思,查阅一些资料后明白:此函数是配合public void startActivityForResult (Intent intent, int requestCode)setResult(int resultCode, Intent data);一起使用的.

当我们跳转Activity时最常用的是:intent = new Intent(##Activity.this, Activity**.class);startActivity(intent);直接跳转,但是有的时候两个Activity,或者几个Activity之间需要交互,在ONEActivity操作完一系列动作后,可能需要通知TWOActivity更近一些列操作,在Activity中得到新打开Activity 关闭后返回的数据那么就需要:

ONEActivity:

 startActivityForResult (Intent intent, int requestCode)  

Intent intent = new Intent(OneActivity.this,TwoActivity.class);

//intent.putExtra("oprateType", "delete");

startActivityForResult(intent, 100);

intent :ONEActivity跳转TWOActivity的intent。

requestCode:startActivityForResult(intent, 100);

requestCode:标示符,以便通知onActivityResult根据requestCode区别操作

TWOActivity:

setResult(int resultCode, Intent intent)

//ONEActivity跳转TWOActivity后, TWOActivity会调用setResult将动作结束的结果通知ONEActivity,并跳转至ONEActivity

Intent intent = new Intent(TwoActivity.this,OneActivity.class);

intent.putExtra("result","My name is linjiqin");

setResult(199, intent);

intent :TWOActivity跳转ONEActivity的intent

resultCode:标示符,以便通知onActivityResult根据resultCode区别操作

ONEActivity:

onActivityResult(int requestCode, int resultCode, Intent data)

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (data == null) {
return;
}

else{

String result= data.getExtras().getString("result");

}
if (100 ==
requestCode) {
//99-增加成功
if (99 ==
resultCode) {

//此处省略当99 == resultCode的处理

}

}}

requestCode:对应startActivityForResult中的requestCode

resultCode:对应setResult中的resultCode




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值