一.简述
之前实习的时候开发的是功能型软件 有很多填写页面的需求
所以用的还是挺多的 但是太久不用了 又用的不是很熟悉了 今天使用时有一点困惑结果百度半天也没有很好地博客 所以弄清楚后就自己记录一篇 以防下次又要找半天
首先在android中从一个activity跳转到另一个activity有很多种方法,但是如果要是想实现去另一个页面只是为了一系列操作 但是操作后的结果还需要带回当前页面处理 那么startActivityForResult就是首选了。
二.代码演示
activity1 :
//跳转代码
Intent intent= new Intent();
intent.setClass(activity1.this, activity2.class);
startActivityForResult(intent, requestCode1);
//接收代码1
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == RESULT_OK){
switch (requestCode) {
case CODE_ALBUM_ADD_PIC_FROM_CLOUD:
String selectResult = data.getStringExtra(EXTRA_KEY_SELECT_RESULT);
selectResult.length();
break;
default:
break;
}
}
}
activity2:
//回传代码2
Intent intent = new Intent();
intent.putExtra(key, "key");
setResult(resultCode1, intent);
其实代码很简单 单纯就是总是忘了 太久不用 主要是区分requestCode和resultCode而网上百度的都说说半天感觉还是不对的 很心累 其实我的理解简单来说就是:
1.requestCode就是你startActivityForResult传过去的标识码用来区分到底是哪个activity回传来的值
2.resultCode就是你setResult设置的用来区分回传结果的 例如你一个页面会有很多种回传可能 这样就可以筛选了