调用子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