Android 在两个不同的活动中使用两个不同的startActivityForResult

Android 在两个不同的活动中使用两个不同的startActivityForResult,android,Android,我真的不知道怎么说,我会用图片来描述它 这就是它的工作原理: edittext1 (Enter) -> Listview1 (choose item) -> back to first activity with item from activityA 和第二个一样 edittext2 (Enter) -> Listview2 (choose item) -> back to first activity with item from activityB 我尝试使用

我真的不知道怎么说,我会用图片来描述它

这就是它的工作原理:

edittext1 (Enter) -> Listview1 (choose item) -> back to first activity with item from activityA
和第二个一样

edittext2 (Enter) -> Listview2 (choose item) -> back to first activity with item from activityB
我尝试使用
startActivityForResult(set,0)和<代码>startActivityForResult(集合,1)但它根本不起作用

public void onActivityResult(int requestCode,int resultCode, Intent data)
    {
    if(resultCode == 0) {
    //do things for first edittext
    }
    else if(resultCode == 1) {
    //do things for second edittext
    }
}
activityA
activityB
上,我用这个来获取他们的物品并带回第一个活动

Intent i = new Intent();
i.putExtra("namaDokter", "kosong");
setResult(RESULT_OK, i);
finish();

您必须检查请求代码,而不是结果代码

无论活动是否正确完成,结果代码都是通用代码信号。 请求代码是传递给新活动的代码,用于区分活动何时完成

因此,基本上,您应该使用以下内容:

public void onActivityResult(int requestCode,int resultCode, Intent data) {
  if(resultCode == Activity.RESULT_OK) {
   if (requestCode == 0) {
     // do things for first edittext
   } else if (requestCode == 1) {
     //do things for second edit text
   }
  } else {
    // the activity didn't finish with result ok
  }
 }

首先,您应该在ActivityResult上使用@Override选项。其次,您应该检查0、1或启动活动的任何代码的请求代码。结果代码应与“活动”进行比较。结果\u正常。

我不能立即接受答案,我必须等待两分钟。我尝试过,但没有成功。我已经得到了答案,但谢谢你的帮助:)