我正在尝试为我的应用程序实现有效的导航;基本上它是一个产品目录,我是指:
列出产品 -> 详细信息 列出产品(接口中的搜索按钮 - startActivityForResult)-> 搜索活动(调用完成)-> 返回到列出产品(已过滤)
但是我需要通过硬件搜索按钮打开搜索活动,还需要从详细信息界面打开搜索活动!
是否有可能从详细信息页面使用startActivityForResult打开搜索活动,并在搜索活动完成后转到列出产品页面? 另外,如果我打开搜索活动,然后按返回键,我需要返回到详细信息页面!
如果我总是使用:
列出产品 -> 详细信息 列出产品(接口中的搜索按钮 - startActivityForResult)-> 搜索活动(调用完成)-> 返回到列出产品(已过滤)
但是我需要通过硬件搜索按钮打开搜索活动,还需要从详细信息界面打开搜索活动!
是否有可能从详细信息页面使用startActivityForResult打开搜索活动,并在搜索活动完成后转到列出产品页面? 另外,如果我打开搜索活动,然后按返回键,我需要返回到详细信息页面!
如果我总是使用:
startActivity()
那么用户需要反复按BACK按钮,查看所有步骤...
例如,如果使用方式如下:
列表(startActivity)->详情(startActivity)->搜索(startActivity)->列表(startActivity)->详情
返回按钮工作正常,但我必须按五次BACK才能退出!!
我尝试过:
列表(startActivity)->详情(startActivity和finish())- >搜索(调用finish()) -> 列表
但是这种方式会导致搜索中的返回按钮“损坏”,因为我回到了列表而不是详情...
也许我可以尝试这个:
详情(startActivityForResult)- >搜索
在详细信息中,如果我得到result_ok,我就会finish()并回到列表,如果我得到result_cancel,则留在详细信息中?
我想我明白了!在列表活动中,我有“经典”的startActivityForResult,然后是“经典”的onActivityResult
在详细信息活动中,我使用startActivityForResult启动搜索,然后:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
finish();
}
}
完成细节后,我回到列表...我不知道这是否可行,但我喜欢它!