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();


           }
       });
 
  


        

你可能感兴趣的:(Android Studio 不同Activity 之间传值并进行使用传回的值)