记录一下小的知识点,以免忘记。
首先在MainActivity中设置startActivityForResult跳转 并且给一个标记
startActivityForResult(new Intent(MainActivity.this, EnterActivity.class), 1);
然后在EnterActivity中处理,并返回数据
//数据是使用Intent返回
Intent intent = new Intent();
//把返回数据存入Intent
intent.putExtra("result", jd);
intent.putExtra("result2", wd);
//设置返回数据
EnterActivity.this.setResult(RESULT_OK, intent);//RESULT_OK为自定义常量66
//关闭Activity
EnterActivity.this.finish();
无返回数据是也可做处理
Intent intent = new Intent();
//把返回数据存入Intent
intent.putExtra("result3", BACK_CODE_NO);
//设置返回数据
EnterActivity.this.setResult(RESULT_NO, intent);//RESULT_OK为自定义常量33
//关闭Activity
EnterActivity.this.finish();
然后再在 MainActivity中接受返回的数据
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == 66) {
String result = data.getExtras().getString("result");//得到新Activity 关闭后返回的数据
jd = Double.parseDouble(result);
String result2 = data.getExtras().getString("result2");
wd = Double.parseDouble(result2);
LatLng latLng = new LatLng(wd, jd);
mDestLocationData = latLng;
addDestInfoOverlay(latLng);
Toast.makeText(MainActivity.this, "设置目的地成功", Toast.LENGTH_SHORT).show();
} else if (resultCode == 33) {
String result3 = data.getExtras().getString("result");
Toast.makeText(this, "点击取消", Toast.LENGTH_SHORT).show();
}
}