我真的不知道怎么说,我只是用pic描述它
这是它的工作原理:
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(set, 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
}
}
<{1>}和activityA
上的我用它来获取他们的项目并带回第一项活动
activityB
答案 0 :(得分:2)
您必须检查请求代码,而不是结果代码
结果代码是一般代码信令,无论活动是否正确完成。 请求代码是您传递给新活动的代码,以便在完成时区分。
基本上,你应该使用类似的东西:
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
}
}
答案 1 :(得分:0)
首先,你应该使用onActivityResult上面的@Override anotation。其次,你应该检查0,1的请求代码或你开始活动的任何代码。结果代码应与Activity.RESULT_OK进行比较。