您的位置:首页 > 其它

startActivityForResult的使用

2016-11-07 15:28 295 查看
这里首先说明一下startActivityForResult与startActivity的不同之处:

[b]startActivity:
[/b]

它是跳转到目标界面,可以通过finish()或者startActivity返回当前界面

代码如:

从A界面跳转到B界面



从B界面返回A界面只需要一个finish();

或者是 

Intent intent = new Intent(LYL_WoShouChu.this,A.class);
startActivity(intent);

startActivityForResult:

它与startActivity差不多,但是它返回可以有finish(),也可以在finish()上面进行传参数,setResult内就必须写上int类型的参数

代码如:

Intent intent = getIntent();
intent.putExtra("size", zan_data.size());
setResult(1, intent);
finish();

它与startActivity不同的是,它返回当前界面会触发onActivityResult(),我们可以在这个方法内改变数据与界面的变化
代码:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==1&&resultCode==1){
int size=data.getIntExtra("size",0);
shoucang_num.setText(size+"");
}
}A界面跳转B界面的代码:
Intent intent_shoucang = new Intent(getContext(), SJ_Activity_WD_ShouCang.class);
startActivityForResult(intent_shoucang,1);

殴,对了,startActivityForResult在A界面跳转到B界面时,一定要带int类型的参数,这个在onActivityResult方法内可以通过你A界面的requestCode与resultCode的参数来筛选出你的代码,省的多个在一起搞混了。

这些也是我写了一些startActivityForResult方法,可是总是忘记了,返回时传参代码要怎么写,+_+。
虽然这些网上查找下有很多,但是我觉得把自己理解的写一遍还是有一定的好处的。

O(∩_∩)O哈哈~,写着我突然想起我同事了,它可是要跟我一起更新技术博客的,啧啧啧

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: