Activity之间传递数据

用Intent方式传递数据的方法:(这只是其中一种方式,还有很多方式,如:Broadcast,Interface等)

/* 向启动的下一个Activity传递数据 */

  

  //第一个Activity中启动第二个并添加数据
          String data = "Hello SecondActivity"; 
           Intent intent = new Intent(FirstActivity.this, SecondActivity.class); 
           intent.putExtra("extra_data", data); 
           startActivity(intent); 

    //第二个Activity中接收数据
              Intent intent = getIntent(); 
                String data = intent.getStringExtra("extra_data"); 
                Log.d("SecondActivity", data);

 

  /* 向上一个Activity传递数据 */

  //第一个Activity中启动第二个
 Intent intent = new Intent(FirstActivity.this, SecondActivity.class); 
    startActivityForResult(intent, 1);

  //第二个Activity中返回数据并关闭
 Intent intent = new Intent(); 
        intent.putExtra("data_return", "Hello FirstActivity"); 
        setResult(RESULT_OK, intent); 
        finish();
        
    //返回键的方式返回第一个Activity,重写方法onBackPressed()返回数据 
        @Override public void onBackPressed() {
         Intent intent = new Intent();
         intent.putExtra("data_return", "Hello FirstActivity");
         setResult(RESULT_OK, intent);
         finish();
         }
        
  //第一个Activity中重写方法接收数据
 @Override 
 protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
   switch (requestCode) { 
   case 1: 
     if (resultCode == RESULT_OK) { 
       String returnedData = data.getStringExtra("data_return"); 
       Log.d("FirstActivity", returnedData); 
     } 
     break; 
   default: 
   } 
 }


 //参考资料:《第一行代码-Android》

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值