2016-03-01 76 views
1

我会抽象的,因为不是关于代码错误,我只想简单地知道方法或者如果它是不可行的。Android,关闭只有一些活动

我有一个Android应用程序,从一个启动画面(然后杀死)开始,然后是主要活动(M)。然后用户可以在4个活动(A,B,C和D)之间进行选择,并且像他们是文件夹一样探索它们。因此,从活动A开始,用户可以打开活动A1,A2,A3等,然后打开活动A11,A12,A13,A21,A22等等。

但是,对于任何这些活性,在任何深度,用户也可以移动到活动树的另一分支(在深度1),即B或C或D.

的问题是只有当我探索树的同一分支时,我才想保持父项活动的活力。因此,活动序列M→A→A2→A21→A213是可取的,但M→A→A2→A21→A213→B不是。我想知道如果(以及如何)打开活动B,可以一起关闭Ax活动,获取堆栈实例M - > B。

+5

使用片段。很多活动听起来很杂乱 – Marshall

+0

您无法控制哪些活动保持活跃状态​​。无论如何,我同意@马歇尔 – F43nd1r

回答

0

试试这个。
希望它有助于感谢。
从斧打算当到B调用等this.it将清除堆栈

Intent intent = new Intent(getApplicationContext(), B.class); 
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(intent); 
+0

我认为这不会有效,如果B不先于斧头活动。无论如何,我选择使用碎片,它工作正常。 – horcrux

+0

@horcrux快乐编码 –