我有4项活动:
Menu -> screen 1
Menu items -> screen 2
Detailed View -> screen 3
Ordered item -> screen 4
在菜单活动(屏幕1)中,我有一个按钮点击它进入MenuItems活动(scrren 2,即List视图),点击列表中的任何项目查看此活动中的相应项目详细视图(屏幕3)我有一个名为有序视图的按钮,onlclick它会转到Ordered item(屏幕4),在这个scrren 4我有一个按钮,它将进入屏幕2。
这是流程
Screen 1 ->screen 2->screen 3->screen 4->screen 2
问题:现在当我在屏幕2中点击后面进行基本流程后,它进入屏幕4并再次点击它返回到屏幕3,这导致用户自从活动以来没有时间点击后退按钮已存在于堆栈中。
如何处理这个我的意思是后退按钮导航。
我曾尝试在意图中使用旗帜,但它对我不起作用。
我也提到了这个
编辑我得到了答案: 所以很少有朋友在这里回答我用过这个 的 Intent.FLAG_ACTIVITY_CLEAR_TOP
所以
screen 1->screen 2->screen 3-> screen 4->screen 2
因此,在屏幕4中,我必须设置此标志,以便清除该活动之上的所有活动。
答案 0 :(得分:6)
Intent intent= new Intent(this, screen 1.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
答案 1 :(得分:1)
你必须在每次意图之后使用finish(),这样这个活动就会结束。
你可以从4活动到2活动的意图功能。也可以在它之后使用完成。
答案 2 :(得分:1)
您要做的是将屏幕2设置为在清单中具有launchMode singleTop。这可确保您的堆栈中一次只有一个这样的活动。您还希望在意图中设置清除顶部标记。
Intent a = new Intent(this,A.class);
a.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(a);
答案 3 :(得分:0)
你必须在每次意图之后使用finish(),这样这个活动就会结束。
你可以从4活动到2活动的意图功能。也可以在它之后使用完成。
http://nanostuffs.com/Blog/?p=607
你必须检查此链接中的链接是否使用子活动作为标签的主要活动。