Android開發筆記(8)——調用子Activity,androidactivity
轉載請註明:http://www.cnblogs.com/igoslly/p/6853730.html
調用子Activity
需要子Activity傳回值 |
MainActivity使用startActivityForResult方法 |
毋需子Activity傳回值 |
MainActivity使用startActivity方法 |
MainActivity傳值子Activity |
直接設定intent.putExtras |
MainActivity
傳值時:
Intent intent =new Intent(MainActivity.this,subActivity.class); intent.putExtra(“value_key”,傳輸的值)
此處value_key是開發人員自行約定的值標籤,在子Activity即可通過getIntExtra來擷取(當傳輸為int)。putExtra可以傳輸多種類型值,但get函數略有不同。
Intent intent = getIntent();intent.getIntExtra(“value_key”,0);
子函數就會根據每個值設定的不同標籤,擷取其對應的值。
當使用startActivityForResult方法時
Intent intent =new Intent(MainActivity.this,subActivity.class);startActivityForResult(intent,0x1001);
此處0x1001是使用者自訂的request code
子Activity中則通setResult()設定傳回值
Intent.intent=new Intent();intent.putExtra(“revalue_key”,傳回值);setResult(0x1001,intent);
當子Activity關閉後,MainActivity即會啟動onActvityResult方法。
@overridesuper.onActivityResult(requestCode,resultCode,data){ if(requestCode==0x1001){ String str =data.getStringExtra(“revalue_key”);} }
requestCode是啟動子Activity; resultCode顯示子Activity運行結果,通常為Activity.RESULT_OK(正常)和Activity.RESULT_CANCELLED(非正常關閉); data由一個Intent打包返回。
申明:
1、本筆記為文字及圖片均為個人原創,轉載請註明部落格園-igoslly
2、Android開發課程於2017年4年參與GoogleDeveloper進行學習,筆記原版http://www.studyjamscn.com/thread-20580-1-1.html#pid272486