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正常。我不能立即接受答案,我必须等待两分钟。我尝试过,但没有成功。我已经得到了答案,但谢谢你的帮助:)