启动其他Activity的Activity:
public class XXXXActivity extends Activity implements OnClickListener
在onCreate方法中,获取组件:
Button from = (Button) findViewById(R.id.from);
Button to = (Button) findViewById(R.id.to);
发送请求的标志,表明是从哪个组件发出:
Intent intent = new Intent(XXXX.this, YYYY.class);
if(v.getId() == R.id.from) {
Bundle bundle = new Bundle();
bundle.putString("flag", "from");
intent.putExtras(bundle);
startActivityForResult(intent, FROM_REQUEST);
}
if(v.getId() == R.id.to) {
intent.putExtra("flag", "to");
startActivityForResult(intent, TO_REQUEST);
}
接收请求并返回请求到相应请求组件的Activity:
Intent intent = getActivity().getIntent();
Bundle bundle = intent.getExtras();
String city = (String) lv.getItemAtPosition(position);
intent.putExtra("city", city);
if(bundle.getString("flag").equals("from")) {
setResult(FROM_RESULT, intent);
}else if(bundle.getString("flag").equals("to")) {
getActivity().setResult(TO_RESULT, intent);
}
finish();
而相应请求的Activity需重写onActivityResult方法:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == FROM_REQUEST && resultCode == HotStation.FROM_RESULT) {
from.setText(data.getExtras().getString("city"));
}
}