【发布时间】:2015-01-29 06:15:02
【问题描述】:
我有一个Activity,它调用另一个Activity,它调用另一个Activities。
我发送到最后一个Activity得到结果,然后我将结果发送回拳头Activity。
流程有点像
A -> B -> C -> D -> C -> B -> A
从A 到D 的流由startActivityForResult 组成,从D 到A 的流由onActivityResult 组成。
从D 到B requestCode 总是相同的(我决定的那个),但是从B 到A 它突然从我的值变为随机值(在这种特殊情况下196614)。
这是我用来从activity A 调用activity B 的代码:
filterByCatalogue.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(), CatalogueContainerActivity.class);
startActivityForResult(intent, Defines.FILTER_BY_CATALOGUE);
}
});
(将filterByCatalogue 用作FrameLayout)
这是我用来回调activity A的代码:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == Defines.FILTER_BY_CATALOGUE) {
if (resultCode == RESULT_OK) {
Intent intent = new Intent();
intent.putExtra("article", data.getStringExtra("article"));
setResult(RESULT_OK, intent);
finish();
}
}
}
我已经搜索了很多,但我找不到哪里出错了......
【问题讨论】:
-
请显示您的活动 A 代码,从哪里开始活动 B 的意图
标签: android onactivityresult start-activity