0

2番目のアクティビティから2番目のアクティビティの後の最初のアクティビティに戻る2つの文字列値を取得したかったのfinish();です。以下のコードを使ってみましたが、エラーはなく、戻り値も取得できません。

アクティビティA

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 に答える