0

我想在第二个活动之后将两个字符串值从第二个活动返回到第一个活动finish();。我尝试使用下面的代码,没有错误,我也无法获得返回值。

活动一

Intent intent = new Intent(activityA.this, activityB.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivityForResult(intent, 100);


@Override
protected void onActivityResult(int requestCode,
                                 int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    Log.i(TAG, "onActivityResult");
    if(resultCode == 100){
        Bundle res = data.getExtras();
         String contentid = res.getString("contentID");
         String contenttype = res.getString("contentType");
         Log.i(TAG, "contentid:" +contentid);
         Log.i(TAG, "contenttype:" +contenttype);
    }
}

活动 B

 @Override
 public void onDestroy(){
     super.onDestroy();
     helper.close();
     Intent intent = new Intent();
     intent.putExtra("contentID", contentID);
     intent.putExtra("contentType", contentType);
     setResult(100, intent);
     Log.i(TAG, "SETRESULT.................." +intent);
     finish();
 }

任何评论或答案将不胜感激。

4

1 回答 1

0

我意识到我的代码有什么问题。我不应该SETRESULTonDestroy()。如果我把它放在别处,它就起作用了。抱歉,感谢您的宝贵时间

于 2013-03-13T03:22:28.827 回答