我正在实施一个不那么标准的导航菜单,可以从我的应用中的每个屏幕访问。也就是说,从我的应用中的每个屏幕,我都可以弹出一个菜单,让我选择一个完全不同的应用区域直接导航到。
我有几个屏幕,我称之为编辑屏幕。它们是用户从项目列表中选择项目并且然后能够编辑该项目的数据的屏幕。如果用户然后使用菜单导航到应用程序的其他某个区域,我不希望这些屏幕保留在活动堆栈上。
这很容易。我可以在导航之前简单地调用“finish()”。但是,有几个地方可以访问嵌套的编辑屏幕。这意味着用户当前所在的编辑屏幕是父编辑屏幕的子节点。我想要两个关闭活动堆栈。
有人能想到一个光滑的方式吗?我能想到的唯一方法是始终使用startActivityForResult并传回一些标识符,告诉屏幕在下次恢复时自行终止。