android中使用两个intent使数据在两个Activity中传递

android编程中使用intent使数据两个Activity之间传递


1:在intent中夹带数据传给新Activity

      可以使用Intent的putExtra(数据名称,数据)方法将数据附加到Intent中,其中的参数说明如下:

      第一个参数要传入字符串类型的数据名称(可以称之为键值),以便稍后以此名称来读出数据。

      第二个参数为要实际附加的数据,其类型可以是任何常用类型,或者是常用类型的数组。

      实例如下:

String[] favor = {"骨头","肉","狗粮"};
Intent it = new Intent(this,second.class);
it.putExtra("编号",1);
it.putExtra("说明",狗狗);
it.putExtra("爱吃",favor);
startActivity(it);




2:Intent()与getXxxExtra():从Intent中去数据

     在新的Activity中,则可以使用getIntent()来获取传入的Intent对象,然后再用Intent的getXxxExtra(数据名称,默认值)方法来读取数据。其中Xxx为数据的类型名称;

     而第二个参数则是默认值,当Intent中找不到指定名称的数据时就会将这个默认值返回。如果存入数组则要用getXxxArrayExtra(数据名称)来读取。

     实例如下:

Intent it = getIntent();
int num = it.getIntExtra("编号",0);                      //当获取数据失败时返回0
String da = it.getStringExtra("说明");                   //当获取数据失败时返回null
String[] a = it.getStringArrayExtra("爱吃");             //当获取数据失败时返回null


   

3.要求新的Activity返回数据

    如果想让新启动的Activity返回数据的话步骤如下:

    在主Activity中改用startActivityForResult()来启动新Activity

  startActivityForResult(Intent it,int 标识符);          //标识符作为一个自定义的值,当新Activity返回数据时也会一并返回此标识符以辨别

    新Activity在结束前使用setResult()返回执行的结果与数据

  setResult(int 结果码,Intent,it);                       //结果码可以设置为Activity类中定义的RESULT_OK或是RESULT_CANCELED常数,it为Intent对象用来夹带数据可以为null

     在住Activity中加入onActivityResult()方法接受返回的数据

  protect void onActivityRestlt(int 标识符,int 结果码,Intent it)   //在这个方法中应检查标识符是否与步骤1的相符,然后按结果码而进行不同的处理,并由it中读取返回的数据

    

 




  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值