原型:void startActivityForResult(Intent intent,int requestCode);
重写方法:void onActivityResult(int requestCode,int resultCode,Intent data);
打开的Activity中调用方法:final void setResult(int resultCode,Intent data);
参数:
--intent :用于数据交换;
--requestCode:
button1.setOnClickListener(
new View.OnClickListener(){
public void onClick(View v) {
startActivityForResult (
new Intent(ReceiveResult.this, SendResult.class),1);
}
}
);
button2.setOnClickListener(
new View.OnClickListener(){
public void onClick(View v) {
startActivityForResult(
new Intent(ReceiveResult.this, SendResult.class), 2);
}
}
);
@Override
protected void
onActivityResult(int requestCode, int resultCode, Intent data) {
switch(requestCode){
case 1://来自按钮1的请求,作相应业务处理
case 2://来自按钮2的请求,作相应业务处理
}
}
--resultCode:
public class SendResult1 extends Activity {
.....
setResult(1, intent);
return false;
......
}
public class SendResult2 extends Activity {
......
setResult(2, intent);
return false;
......
}
public class ReceiveResult extends Activity {
@Override
protected void
onActivityResult(int requestCode, int resultCode, Intent data) {
switch(resultCode){
case 1:// SendResult1的返回数据
case 2:// SendResult2的返回数据
}
}
}