我完全同意以下导航
想象一下,Book细节是在BookDetailActivity的不同实例中完成的。
在按book2详细信息之前的堆栈为:
如果我遵循guidelines,我将使用:
Intent parentActivityIntent = new Intent(this, AllBooksActivity.class);
parentActivityIntent.addFlags(
Intent.FLAG_ACTIVITY_CLEAR_TOP |
Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(parentActivityIntent);
finish();
但是此代码的最大问题是BookDetailActivity(书1)仍然存在!
在“上”之后按返回按钮将带来书1的详细信息。
如何杀死原始
BookDetailActivity
和按下的 Activity 之间的所有AllBooksActivity
? 最佳答案
related guidelines article注意以下内容:
由于执行了此操作,因此应该使用FLAG_ACTIVITY_CLEAR_TOP关闭BookDetailActivity1。如果它可能还活着并在按Back时显示,则唯一的方法是是否在AllBooksActivity之前启动它。
至于不需要FLAG_ACTIVITY_NEW_TASK(建议由Android开发者的答案):
...因此,如果您的 Activity 存在,它将不会启动新任务。
关于android - 根据准则处理 “Up”导航的正确方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14040620/