在活动之间传递数据

1.活动1向活动2传递数据

代码如下:

String data = "hello secondactivity";

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

intent.putExtra("extra_data",data);

startActivity(intent);

通过使用putExtra方法来传递数据,第一个参数是键,第二个参数是需要传递的数据。

 

2.在活动2中将数据取出

代码如下:

Intent intent = getIntent();

String data = intent.getStringExtra("extra_data");

Log.d("secondactivity",data);

首先通过getIntent()方法获取启动本活动的Intent,然后通过getStringExtra方法来获取数据,这里要注意,如果获取的是整形数据,就用getIntExtra()方法,如果是布尔型数据,则用getBooleanExtra()方法,以此类推。

 

3.将活动2数据返回给活动1

代码如下:

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

startActivityForResult(intent,1);

通过使用startActivityForSesult()方法启动下个活动就能在下个活动被销毁时获取到传递的数据,方法里面的数字只要是唯一值就行。活动2里面的代码如下:
 

Intent intent = new Intent();

intent.putExtra("data_return","hello firstactivity");

setResult(RESULT_OK,intent);

在这里构建了一个Intent,但是这个Intent只用于传递数据,没有任何的意图,通过使用setResult()方法,在第二个活动被销毁的时候就能将数据传递到第一个活动当中,第一个参数代表返回结果,一般为RESULT_OK和RESULT+CANCELED。

4.在活动1中获取活动2传递上来的数据

代码如下:

@override

protected void onActivityResult(int requestCode,int resultCode,Intent data){

switch(requestCode){

    case1:

        if(resultCode == RESULT_OK){

            String returnedData = data.getStringExtra("data_return");

            Lod.d("FirstActivity",returnedData);

         }

        break;

    default:

    }

}

在第二个活动被销毁后会回调上一个活动的onActivityResult()方法,所以我们需要重写这个方法,这个方法有三个参数,第一个参数是启动活动时传入的请求码,第二个参数是返回的结果,第三个参数包含传递的数据。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值