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

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

posted @ 2017-05-14 20:46  Arya.Mo  阅读(1374)  评论(0编辑  收藏  举报