原型:void startActivityForResult(Intent intent,int requestCode); java
重写方法:void onActivityResult(int requestCode,int resultCode,Intent data); ide
打开的Activity中调用方法:final void setResult(int resultCode,Intent data); this
参数: spa
--intent :用于数据交换; .net
--requestCode: code
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: blog
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的返回数据 } } }
代码数据引自:www.innovation-office.net get
点击查看: startActivityForResult调用问题总结