一、向下一个活动传递数据
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;
}
}