Android Studio 不同Activity 之间传值并进行使用传回的值

   一、 Avtivity 之间传值                                     


Avtivity 之间传值分为①向下一个Avtivity传值②向上一个Avtivity传值。然后使用之。Activity 之间传值的方式有很多种,今天简单介绍两种,只给出了关键代码,不是全部代码。
 

①向下一个Avtivity传值
通过Intent跳转Activity,并携带值,显示之。
FirstActivity

public void onClick(View v) {

    Intent i=new Intent(MainActivity.this,NewActivity.class);
    i.putExtra("data","我是要传递的字符串");
    startActivity(i);


SecondActivity

  protected voidonCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_new);

    Intent i=getIntent();
    T=(TextView) findViewById(R.id.textView1);
    T.setText(i.getStringExtra("data"));
}  
 
}
②向上一个Avtivity传值

通过startActivityForResult方法来得到Activity的回传值

 FirstActivity

从第一个活动进入第二个活动
btn0.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
          Intent intent = new Intent(MainActivity.this, SecondlyActivity.class);
          startActivityForResult(intent, 5);
        }
  });
 
 
获取返回的值:
 
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
         switch (requestCode) {

 
case 1:
    if (resultCode == RESULT_OK)
    {
      K1 = data.getFloatExtra("redk",0);//根据传值的类型,data.getFloatExtra可以是data.getStringExtra
或其他
      B1 = data.getFloatExtra("redb",0);
      K2 = data.getFloatExtra("grek",0);
      B2 = data.getFloatExtra("greb",0);
      K3 = data.getFloatExtra("bluk",0);
      B3 = data.getFloatExtra("blub",0);
        break;

传回的K,B,直接使用就可以。
 
 
SecondActivity

btn3.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View v) {
               Intent intent=new Intent();
写入要传入的值:
               intent.putExtra("redk", 1);
               intent.putExtra("redb", 2);
               intent.putExtra("grek", 3);
               intent.putExtra("greb", 4);
               intent.putExtra("bluk", 5);
               intent.putExtra("blub", 6);
               setResult(RESULT_OK,intent);
               finish();


           }
       });
 


        

  • 9
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值