我正在尝试为我的应用程序实现一个高效的导航;基本上它是一个产品目录,我的意思是:
列出产品->详细信息
列出产品(界面中的Serach按钮-StartActivityForresult)->SearchAct(Cal Finish)->返回到列表产品(已筛选)
但我需要打开搜索行动的硬件搜索按钮,也从细节!
是否可以使用StartActivityForresult from detail打开SearchAct,以及SearchAct完成后转发到列表产品?
另外,如果我打开searchact然后按back我需要回到细节!
如果我总是使用:

startActivity()

然后用户需要反复按下后退按钮,查看所有步骤…
例如,如果用法如下:
列表(StartActivity)->详细信息(StartActivity)->搜索(StartActivity)->列表(StartActivity)->详细信息
后退按钮工作正常,但我必须后退5次才能退出!!
我尝试:
列表(startActivity)->详细信息(startActivity和finish())->搜索(call finish())->列表
但搜索中的“后退”按钮“坏了”,因为我必须列出详细信息…
也许我可以试试这个:
详细信息(StartActivityForresult)->搜索
如果我得到了结果,我完成了,然后返回到列表,如果我得到了结果,我取消,我留下详细信息?
我想我明白了!!!!在列表活动中,我有“Classic”StartActivityForresult,然后有“Classic”OnActivityResult
在详细活动中,我使用StartActivityForresult启动Serach,然后:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == RESULT_OK) {
        finish();
    }
}

完成我回到列表的细节…我不知道是否可以,但我喜欢!

最佳答案

很难理解你的问题是什么,所以我只是猜测你的需要。
在SearchAct活动中,可以返回如下数据:

Intent returnIntent = new Intent();
String strData = "your data";
returnIntent.putExtra("data", strData);
setResult(RESULT_OK, returnIntent);
finish();

然后在您的详细信息活动中,从您启动searchact的位置,有一个函数在searchact完成时触发。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {}

10-08 07:50