activity之间跳转传值时会使用到。
当从A.activity跳转到B.activity,B.activity关闭时,你想在A.activity里得到B返回的数据,需要使用startActivityForResult(Intent intent,int requestCode)来进行跳转。
A.activity里面:
startActivityForResult(new Intent(this,SecondActivity.class),1);
startActivityForResult(new Intent(this,ThirdActivity.class),2);
@Override
protected void onActivityResult(int requestCode,int resultCode,Intent data){
super.onActivity(requestCode,resultCode,data);
String string=data.getStringExtra("key");
switch(requestCode){
case 1:
if(resultCode==1){
System.out.println("string="+string);
}else {
System.out.println("resultCode != 1");
}
break;
case 2:
if(resultCode==2){
System.out.println("string="+string);
}else{
System.out.println("resultCode != 2");
}
break;
}
}
B.activity里面:
Intent intent=new Intent();
intent.putExtra("key","123");
//void android.app.Activity.setResult(int resultCode,Intent data)
SecondActivity.this.setResult(1,intent);
finish();