一、向下一个活动传递数据
Button button3 = (Button) findViewById(R.id.button3); button3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(Main2Activity.this,Main23Activity.class); intent.putExtra("name","chicai");//向intent添加参数,key,value形式 startActivity(intent); } });
public class Main23Activity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main23); Intent intent = getIntent(); TextView text = (TextView) findViewById(R.id.textView); text.setText(intent.getStringExtra("name")); } }
二、向上一个活动传递数据
Button button3 = (Button) findViewById(R.id.button3); button3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(Main2Activity.this,Main23Activity.class); intent.putExtra("name","chicai"); startActivityForResult(intent,1);//意思了开启一个活动用来获取结果的,1是用来辨识不同的这种Activity } });
//用这个活动设置返回结果,然后结束就会传递到上一个活动了 public class Main23Activity extends AppCompatActivity { @Override protected void onStart() { super.onStart(); Button button = (Button)findViewById(R.id.button7); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(); intent.putExtra("return_val","memeda"); setResult(RESULT_OK,intent);//设置结果 finish(); } }); } }
//返回上一个活动,通过onActivityResult接收 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch(requestCode) { case 1: if(resultCode == RESULT_OK) { String str = data.getStringExtra("return_val"); TextView text = (TextView) findViewById(R.id.textView2); text.setText(str); } break; } }