6

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

我的问题是个人资料的链接在所有级别都可用;因此,例如,如果处于第 4 级的用户单击配置文件链接,他的层次结构位置必须更改为第 2 级 - 而不是第 5 级。

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

多谢你们 :)

UPD:只是澄清一下:可能没有可用的 Profile 实例,因此在这种情况下,简单地清除顶部将不起作用。

4

2 回答 2

1

为了防止 1 级 MainActivity 重新创建而不是简单的,CLEAR_TOP我添加了Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP. 根据文档MainActivity 被onNewIntent调用以防它已经被创建。

完成后,我可以switch在 Intent 数据上启动任何 2 级活动

于 2012-08-02T12:00:42.097 回答
0

当您创建返回 MainActivity 的意图时,您可以设置两个标志 forCLEAR_TOPNEW_TASK。这样,如果它存在,它应该带回现有的活动,或者创建一个新的活动。

.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK));
于 2012-07-30T07:44:44.140 回答