Android活动导航,返回上一个活动和返回';退出';

Android活动导航,返回上一个活动和返回';退出';,android,android-intent,Android,Android Intent,我正在尝试为我的应用程序实现一个高效的导航;基本上它是一个产品目录,我的意思是: 列出产品->详细信息 列出产品(界面中的serach按钮-startActivityForResult)->searchAct(校准完成)->返回到列表产品(已过滤) 但我需要打开搜索行动的硬件搜索按钮,也从细节 是否可以使用startActivityForResult from detail打开searchAct,并在searchAct完成时转发产品列表? 此外,如果我打开searchAct,然后按back,我需

我正在尝试为我的应用程序实现一个高效的导航;基本上它是一个产品目录,我的意思是:

列出产品->详细信息 列出产品(界面中的serach按钮-startActivityForResult)->searchAct(校准完成)->返回到列表产品(已过滤)

但我需要打开搜索行动的硬件搜索按钮,也从细节

是否可以使用startActivityForResult from detail打开searchAct,并在searchAct完成时转发产品列表? 此外,如果我打开searchAct,然后按back,我需要返回详细信息

如果我总是使用:

startActivity()
然后用户需要反复按下后退按钮,查看所有步骤

例如,如果用法如下所示:

Intent returnIntent = new Intent();
String strData = "your data";
returnIntent.putExtra("data", strData);
setResult(RESULT_OK, returnIntent);        
finish(); 
列表(startActivity)->详细信息(startActivity)->搜索(startActivity)->列表(startActivity)->详细信息

后退按钮工作正常,但我必须后退5次才能退出

我尝试:

列表(startActivity)->详细信息(startActivity和finish())->搜索(调用finish())->列表

但搜索中的“返回”按钮“坏了”,因为我要列出详细信息

也许我可以试试这个:

详细信息(startActivityForResult)->搜索

详细信息如果我得到结果\u确定我完成()并返回列表,如果我得到结果\u取消我留下详细信息


我想我明白了!!!在列表活动中,我有“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) {}

在“产品详细信息”活动中,您将通过startActivityForResult启动搜索活动。在这种情况下,当搜索活动返回正确的代码时,可以在product detail活动的onActivityResult中调用finish()

这样,产品详细信息将在搜索后完成,您将返回列表活动

如果您也使用startActivityForResult启动产品详细信息,则可以返回产品活动从搜索活动中获得的数据

我猜这就是你想要的