轉載請註明:http://www.cnblogs.com/igoslly/p/6853730.html 調用子Activity 需要子Activity返回值 MainActivity使用startActivityForResult方法 MainActivity使用startActivityForRe ...
轉載請註明: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方法。
@override super.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