Android开发笔记(8)——调用子Activity

时间:2022-08-17 22:56:24

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