Activity A
final int cityresult = 1;//必须使用final
TextView textview = (TextView)findViewById(R.id.txt_city);
textView.setOnClickListener(new chosecityClicklis());
class chosecityClicklis implements OnClickListener {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(ActivityA.this,
ActivityB.class);
intent.putExtra("cityname", textView.getText().toString());
startActivityForResult(intent, GetCityResult);
}
}
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case cityresult:
textView.setText(data.getStringExtra("city"));
break;
}
}
ActivityB
String cityname;
Intent intent = getIntent();
cityname = intent.getStringExtra("cityname");//传值进来,防止返回上个Activity传的值为空
class backClickListener implements OnClickListener {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i = getIntent();
i.putExtra("city", cityname);
setResult(1, i);
finish();
}
}
//虚拟键上的返回键
public void onBackPressed() {
//super.onBackPressed();不需要这个,不然ActivityA不能接收到返回去的值
Intent i = getIntent();
i.putExtra("city", cityname);
setResult(1, i);
finish();
}