我有一个由4级深度组成的层次结构。我的个人资料具有第二级别的hieararchy,这意味着在配置文件中按下时必须始终将用户返回到第一层级。
我的问题是,所有级别都可以链接到个人资料;因此,例如,如果位于第4级的用户点击了个人资料链接,他的等级位置必须更改为第2级 - 而不是第5级。
我认为必须有一种必要的方法。到目前为止,我已经提出了CLEAR_TOP to the 1st level + if(extra){startActivity(Profile)}
的组合,但通过这种方式,第一级活动将被重新创建 - 对吧?这就是为什么我要你提出更好的建议。
谢谢你们:)
UPD:只是澄清一下:可能没有可用的配置文件实例,因此在这种情况下只需清除顶部就不起作用。
答案 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_TOP
和NEW_TASK
设置两个标记。这样它应该恢复现有的活动,如果它存在,或以其他方式创建一个新活动。
.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK));