gpt4 book ai didi

android - 任务的根android Activity

转载 作者:行者123 更新时间:2023-11-29 00:25:51 25 4
gpt4 key购买 nike

在我的 Android 应用程序中,我试图确保某些 Activity 在导航到它时应始终放置在 backstack 的根目录下。

例如,用户启动 A->B->C->D Activity 。想象一下 A - 初始屏幕(NoHistory = true),B - 主页,C,D - 一些详细信息页面。在详细信息页面 (D) 上,用户可以转到主要 Activity (B)。让 B-C-D backstack 用户按下“转到 B”按钮并导航到现有的主页 Activity (B),同时停止并销毁 C、D Activity 。我为我的 B Activity 使用 SingleInstance,在这种情况下它工作正常。

我遇到过这对我不起作用的情况。在初始屏幕上,我发现我应该跳过主页并直接转到详细信息页面之一(例如 D)。在这里,当我转到主页时,我的后台堆栈是错误的:D->B 而不仅仅是 B。

哪些标志或属性更适合我的情况。更新应用程序导航逻辑可能是更有效的方法吗?

感谢您的任何建议!

最佳答案

在 A 中:

Intent intent = new Intent(B.class, this);
startActivity(intent);
finish(); //finish A behind you so you can only explicitly return to it

在 B 中,我猜有两种按钮方法可以让您到达 C 或 D:

public void buttonToC(View view){
Intent intent = new Intent(C.class, this);
startActivity(intent);
}

public void buttonToD(View view){
Intent intent = new Intent(D.class, this);
startActivity(intent);
}

在 C 和 D 中,如果您按返回键,您可以选择结束 Activity:

public void onBackPressed(){
Intent intent = new Intent(B.class, this);
startActivity(intent);
finish(); // optional
}

所以 A -> B 和 A 完成。从 B -> C OR D 但 B 仍在后台运行。在 C 或 D 中时,按返回会调出后台 Activity B。这应该有效。

关于android - 任务的根android Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19549132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com