码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2017-05-14 21:55:54      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:通过   传输   方法   不同   table   edit   override   blog   www   

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

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

标签:通过   传输   方法   不同   table   edit   override   blog   www   

原文地址:http://www.cnblogs.com/igoslly/p/6853730.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!