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

Android学习笔记三:用Intent串联activity

时间:2017-09-13 09:50:13      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:rri   创建   for   返回   bsp   class   first   super   extra   

    一:Intent  

    Intent可以理解为 意图。

    我们可以通过创建intent实例来定义一个跳转意图,意图包括:要跳转到哪个页面、需要传递什么数据。

    然后通过startActivity(intent)来启动跳转。

    有两种方式定义Intent:显式Intent、隐式Intent。

 

    二:显式Intent

    1)我们可以在actvity的java文件中,通过代码显示定义Intent,参数为:从哪个页面,跳转到哪个页面。

Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
startActivity(intent);

   2) 我们还可以通过putExtra(key,value)的方法,往intent传入数据,携带到跳转到目标页。

Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra(name, data);
startActivity(intent);

    在跳转目标页到java文件中,通过getIntent()提取链接到该activyty的intent实例,然后通过intent实例.getXXExtra(name)提取数据,XX是数据类型。

    3)我们也可以在跳转发起页获取到跳转目标页回传到数据

    跳转发起页:

Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
startActivityForResult(intent, 1);//第一个参数是intent,第二个是请求码

//重写结果回传函数,监听结果码以及回传的intent
//第一个参数:请求码:用于校验是否该页面发起的跳转请求的回传结果
//第二个参数:结果码:回传的结果码类型
//第三个参数:Intent实例:跳转目标页通过一个intent来携带数据,返回发起页。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    switch (requestCode) {//根据请求码来匹配是哪个跳转请求的回传结果
        case 1:
            if(resultCode == RESULT_OK) {//根据结果码,执行不同结果码对应的操作
                String name = "return_data";
                String returnData = data.getStringExtra(name);//通过回传的intent提取数据
                ......//使用数据:赋值给变量、调用其他函数、赋值给视图控件等
            }
            break;
        default:
    }
}

    跳转目标页:

Intent intent1 = new Intent();//创建回传的intent实例
intent1.putExtra(name, data);//携带数据
setResult(RESULT_OK, intent1);//作为结果进行回传

 

      

Android学习笔记三:用Intent串联activity

标签:rri   创建   for   返回   bsp   class   first   super   extra   

原文地址:http://www.cnblogs.com/ygj0930/p/7513399.html

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