首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

关于使用startActivityForResult和setResult的有关问题

2013-06-19 
关于使用startActivityForResult和setResult的问题在新activity传值回旧activity时,setResult(2,intent)

关于使用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); 执行

热点排行