读书人

关于使用startActivityForResult和set

发布时间: 2013-06-19 10:26:41 作者: rapoo

关于使用startActivityForResult和setResult的问题
在新activity传值回旧activity时,setResult(2,intent);这句好像一直没有执行
以下是代码,谁能帮我看看
这是旧的activity里的startActivityForResult和onActivityResult


class 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();


}
});



[解决办法]
我有一个疑惑,为什么你会在你贴出的第二段code时,添加下面代码

intent.setClass(search.this, MainActivity.class);

[解决办法]
2 改成 RESULT_OK 试试看
[解决办法]
引用:
在新activity传值回旧activity时,setResult(2,intent);这句好像一直没有执行
以下是代码,谁能帮我看看
这是旧的activity里的startActivityForResult和onActivityResult


Java code
?



12345678910111213141516171819202122232425

class ……


Intent不需要重新创建了

直接Intent it = this.getIntent();这个获取 去除intent.setClass(search.this, MainActivity.class);

并且你要确认下是否setResult(2,intent); 执行

读书人网 >Android

热点推荐