原型: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調用問題總結