[英]Clear the stack activity on Back button pressed
我有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中,我必须设置此标志,以便清除该活动之上的所有活动。
Intent intent= new Intent(this, screen 1.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
你必须在每个意图之后使用finish(),所以这个活动将会关闭。
你可以从4活动到2活动的意图功能。 也可以使用完成后。
您要做的是将屏幕2设置为在清单中具有launchMode singleTop。 这可确保您的堆栈中一次只有一个这样的活动。 您还希望在意图中设置清除顶部标记。
Intent a = new Intent(this,A.class);
a.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(a);
你必须在每个意图之后使用finish(),所以这个活动将会关闭。
你可以从4活动到2活动的意图功能。 也可以使用完成后。
http://nanostuffs.com/Blog/?p=607
你必须检查此链接中的链接是否使用子活动作为选项卡的主要活动。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.