2 qq 33804558 qq_33804558 于 2016.01.20 20:42 提问

安卓中onActivityResult方法无法获取返回的resultCode和data问题,求解
                A:MainActivity   B:LoginActivity   RESULT_OK=2

具体代码如下:
MainActivity.this.startActivityForResult(new Intent(MainActivity.this,LoginActivity.class), ConnUtil.RESULT_OK);

        Intent intent=new Intent();
        intent.putExtra("uNumer", uNumer);
        LoginActivity.this.setResult(ConnUtil.RESULT_OK, intent);
        LoginActivity.this.finish();

        @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // TODO Auto-generated method stub
    if (resultCode==ConnUtil.RESULT_OK) {//取出的resultCode为0,data 为空
        String uNumer=data.getStringExtra("uNumer");
    }
    super.onActivityResult(requestCode, resultCode, data);
}


<activity
        android:name="com.example.activity.MainActivity"
        android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

            <activity
        android:name="com.example.activity.LoginActivity"
        android:label="@string/title_activity_login">
    </activity>

3个回答

devmiao
devmiao   Ds   Rxr 2016.01.20 20:49
qq_33804558
qq_33804558 我写的代码和网页上的是一样的啊
接近 2 年之前 回复
qq_21504369
qq_21504369   2016.01.20 22:44

你是不是少写了一个判断? 你没有判断requestCode ,应该在 //if (resultCode==ConnUtil.RESULT_OK ) 前面加一个判断

你试试,我也是新手

qq_33804558
qq_33804558 我解决了,原因是我在调用LoginActivity.this.setResult(ConnUtil.RESULT_OK, intent);之前调用了finish(),不过还是谢谢了
接近 2 年之前 回复
crazy1235
crazy1235   Ds   Rxr 2016.02.01 14:00

应该在setResult**之后**调用finish方法、

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!