• 使用Intent在活动之间穿梭(《第一行代码》读书笔记)


    以下全是个人理解//瞎扯

    其实活动理解理解起来就像一个个函数

    那么Intent就是调用函数和参数传递

    可以有无参,仅仅是调用

    Intent intent = new Intent(A.this, B.class);
    
    startActivity(intent);

    由活动A调用活动B,无参,无返回值,当然B调用结束,要回到A。

    可以有参数

    A
    ---
    Intent intent = new Intent(A.this, B.class); intent.putExtra( "这里是参数的键" , "这里是参数,本样例是字符串,也可以是其他的类型" ); // 传参 startActivity(intent);
    B
    --- Intent intent
    = getIntent(); String data = intent.getStringExtra("这里是参数的键");  //取出参数

    由活动A调用活动B,无参,无返回值。

    可以传参当然也可以返回参数

    A
    ---
    Intent intent = new Intent(A.this, B.class);
    startActivity(intent, 1); //1是请求码,要求唯一
    
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {  // 接收返回的值
        switch(requestCode) { //请求码是唯一的
        case 1:
            if (resultCode == RESULT_OK) {
                String returnData = data.getStringExtra("data_return");
            }
            break;
        dafault:
        }
    }
    
    
    B
    ---
    Intent intent = getIntent();
    intent.putExtra("data_return", "hey~");
    setResult(RESULT_OK/RESULT_CANCELED, intent);

    其实吧 可以把活动间通信想象成两地用信鸽传信,而Intent就是那个信鸽。

    信鸽可以不带消息,就只是一个鸽子,也可以在腿上绑上信,放信鸽的人和收信鸽的利用鸽子放信的姿势当然是一样的啦。

    但是可能有很多鸽子,所以如果鸽子传信回来,一定要看看,是不是自己的鸽子,于是给鸽子编个号,防止认错。

  • 相关阅读:
    [JZOJ 5788] 餐馆
    [JZOJ 5778] 没有硝烟的战争
    problems_scala
    好迷茫,好迷茫啊
    公布下我的数据库操作层
    关于数据库大并发量(未完成)
    关于http协议头
    管理心得体会
    数据库表分区
    公共的Json操作类
  • 原文地址:https://www.cnblogs.com/wenruo/p/5654788.html
Copyright © 2020-2023  润新知