当前FirstActivity,子Activity为SecondActivity。
可以通过按钮点击事件触发数据传递
1.在FirstActivityz向SecondActivity传递数据:
(1)传递过程:
private int SecondActivity = 1;
button.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v) {
String data = "hello"; Intent intent = new Intent(FirstActivity.this, SecondActivity.class); intent.putExtra("_data", data); startActivityForResult(intent, SecondActivity); } });
(2)获取过程:
在SecondActivity中取数据
Intent intent = getIntent();
String data = intent.getStringExtra("_data");
getIntent()是用来获取父Activity的方法。
因为传递的字符串,所以用getStringExtra(),若是整型则用getIntExtra(),以此类推。
2.在SecondActivity中传递数据给FirstActivity:
因为SecondActivity是FirstActivity的子Activity,
一个父Activity可以有多个子Activity,为了知道是哪一个子Activity传送来的数据,
(1)传递过程:
button.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v) {
String data = "hello"; Intent intent = new Intent(); intent.putExtra("_return", data); setResult(RESULT_OK, intent); finish(); } });第一个参数为返回状态RESULT_OK
(2)获取过程:
protected void onActivityResult(int requestCode, int resultCode, Intent data){ switch(requestCode){ case 1: if(resultCode == RESULT_OK){ String _return = data.getStringExtra("_return"); text1.setText(_return); } break; default: } }改方法的第一个参数是子Activity的编号,用来确定子Activity。第二个参数是子Activity的返回状态。第三个参数是数据。