CLEAR_TOP +开始新的活动。层次结构问题

时间:2012-07-29 19:22:18

标签: android

我有一个由4级深度组成的层次结构。我的个人资料具有第二级别的hieararchy,这意味着在配置文件中按下时必须始终将用户返回到第一层级。

我的问题是,所有级别都可以链接到个人资料;因此,例如,如果位于第4级的用户点击了个人资料链接,他的等级位置必须更改为第2级 - 而不是第5级。

我认为必须有一种必要的方法。到目前为止,我已经提出了CLEAR_TOP to the 1st level + if(extra){startActivity(Profile)}的组合,但通过这种方式,第一级活动将被重新创建 - 对吧?这就是为什么我要你提出更好的建议。

谢谢你们:)

UPD:只是澄清一下:可能没有可用的配置文件实例,因此在这种情况下只需清除顶部就不起作用。

2 个答案:

答案 0 :(得分:1)

为了防止重新创建第1级MainActivity而不是简单CLEAR_TOP,我添加了Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP。根据{{​​3}} MainActivity,如果已经创建了onNewIntent,则会调用它。

完成此操作后,我可以{Inte}数据switch并启动任何二级活动

答案 1 :(得分:0)

当您创建返回MainActivity的意图时,您可以为CLEAR_TOPNEW_TASK设置两个标记。这样它应该恢复现有的活动,如果它存在,或以其他方式创建一个新活动。

.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK));