zoukankan      html  css  js  c++  java
  • Android学习笔记——Activity之间传递参数

    Intent i = new Intent(CurrActivity.this, AnotherActivity.class);

    i.putExtra("name", "这里可以传入各种常用数据类型,包括Bundle");
    在AnotherActivity中可以通过
    getIntent()方法获取CurrActivity传过来的Intent i
    Intent i = getIntent();
    String name = i.getStringExtra("name");//根据传入的数据类型来get不同的类型的Extra,这里传入的是字符串所以使用getStringExtra。
     
    也可以通过传递Bundle来一次性传递多个数据
    Intent i = new Intent(CurrActivity.this, AnotherActivity.class);
    Bundle b = new Bundle();
    b.putString("name", "CrazyBun");
    b.putInt("age", 24);
    传递Bundle的方式有两种:
    i.putExtra("bundle", b);     //获取时使用i.getBundleExtra("bundle");
    i.putExtras(b);     //获取时使用 i.getExtras();
    然后在AnotherActivity中
    //先getIntent()获取获取Intent
    Intent i = getIntent();
    //再从i中获取bundle
    Bundle b = i.getExtras();
    //之后从b中取数据即可
    String name = b.getString("name");
    String age = b.getInt("age");
    //为了防止要获取的键值对不存在,可以在get()方法中增加一个参数,表示默认值,如:
    String father = b.getString("father", "Bun");
    这样的话,在传过来的Bundle中如果不存在father这个键值对的话,这里的father就会被赋值为Bun
  • 相关阅读:
    uva 532 Dungeon Master
    hrbeu 哈工程 Tunnels
    poj 1088 滑雪
    hrbeu 哈工程 Eular Graph
    uva 567 Risk
    hrbeu 哈工程 Minimum time
    产品要不要做先回答的10个问题
    用icacls命令行给目录赋权
    SQL Server的FileStream和FileTable
    cygwin 离线安装包(包括vim,ssh,scp)
  • 原文地址:https://www.cnblogs.com/CrazyBun/p/5335382.html
Copyright © 2011-2022 走看看