activity1,(将会从这个activity中跳转到activity2中,并且有值返回
)
public class MainActivity extends Activity implements OnClickListener{
private EditText editText;
private Button button;
private static final int REQUESTCODE = 1;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = (EditText) findViewById(R.id.act_editText1);
button = (Button) findViewById(R.id.act_button1);
button.setOnClickListener(this);
}
public void onClick(View v) {
//1.在activity中调用startActivityForResult方法,请求返回带有返回值的跳转
/**
* 参数一:意图
* 参数二:请求码
*
* */
startActivityForResult(new Intent(MainActivity.this,MainActivity2.class), REQUESTCODE );
}
/**
* 当使用startActivityForResult方法产生了跳转,被跳转的activity如果被销毁,则此方法被执行
*
* 参数一:请求码
* 参数二:返回码
* 参数三:数据
* */
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUESTCODE) {
editText.setText("从act2中返回的数据是:" + data.getStringExtra("data"));
}
}
}
activity2
public class MainActivity2 extends Activity implements OnClickListener{
private EditText editText;
private Button button;
private static final int RESULTCODE = 2;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_activity2);
editText = (EditText) findViewById(R.id.act2_editText1);
button = (Button) findViewById( R.id.act2_button1);
button.setOnClickListener(this);
}
public void onClick(View v) {
String data = editText.getText().toString().trim();
//将数据封装到intent中
Intent intent = new Intent();
intent.putExtra("data", data);
//添加返回值
setResult(RESULTCODE , intent);
//销毁当前的activity
finish();
}
}