在新activity传值回旧activity时,setResult(2,intent);这句好像一直没有执行
以下是代码,谁能帮我看看
这是旧的activity里的startActivityForResult和onActivityResultclass search_listener implements OnClickListener{
@Override
public void onClick(View v) {
Intent intent=new Intent();
intent.setClass(MainActivity.this, search.class);
startActivityForResult(intent, 1);
}
}@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 1){
if (resultCode == 2) {
Bundle bundle = intent.getExtras();
if (bundle != null) {
Double xDouble=bundle.getDouble("x");
Double yDouble=bundle.getDouble("y");
GeoPoint xianshiGeoPoint=new GeoPoint(xDouble,yDouble);
mapController.setCenter(xianshiGeoPoint);
}
}
}
}以下是新activity传值回旧activity的代码
这段代码里就setResult(2,intent);没有执行,是哪里需要设置什么吗suse.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
//inpuText.setText(suse.getText().toString());
Intent intent =new Intent();
double x=26.08,y=119.28;
Bundle bundle=new Bundle();
bundle.putDouble("x", x);
bundle.putDouble("y", y);
intent.setClass(search.this, MainActivity.class);
setResult(2,intent);
finish();
}
});
以下是代码,谁能帮我看看
这是旧的activity里的startActivityForResult和onActivityResultclass search_listener implements OnClickListener{
@Override
public void onClick(View v) {
Intent intent=new Intent();
intent.setClass(MainActivity.this, search.class);
startActivityForResult(intent, 1);
}
}@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 1){
if (resultCode == 2) {
Bundle bundle = intent.getExtras();
if (bundle != null) {
Double xDouble=bundle.getDouble("x");
Double yDouble=bundle.getDouble("y");
GeoPoint xianshiGeoPoint=new GeoPoint(xDouble,yDouble);
mapController.setCenter(xianshiGeoPoint);
}
}
}
}以下是新activity传值回旧activity的代码
这段代码里就setResult(2,intent);没有执行,是哪里需要设置什么吗suse.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
//inpuText.setText(suse.getText().toString());
Intent intent =new Intent();
double x=26.08,y=119.28;
Bundle bundle=new Bundle();
bundle.putDouble("x", x);
bundle.putDouble("y", y);
intent.setClass(search.this, MainActivity.class);
setResult(2,intent);
finish();
}
});
Intent不需要重新创建了直接Intent it = this.getIntent();这个获取 去除intent.setClass(search.this, MainActivity.class); 并且你要确认下是否setResult(2,intent); 执行
解决了,我在setResult(2,intent);
前面加了一句intent.putExtras(bundle);就好了谢谢你们的回答。