问题标签 [back-stack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
18 回答
166023 浏览

android - Android:从后台堆栈中删除所有以前的活动

当我在我的个人资料活动中单击注销按钮时,我想将用户带到登录页面,他需要在其中使用新凭据。

因此我使用了这段代码:

onButtonClick注销按钮中。

但问题是当我单击登录活动上的设备后退按钮时,它会将我带到 ProfileActivity。当我按下 LoginActivity 上的设备后退按钮时,我期待应用程序应该关闭。

我究竟做错了什么?

我还在android:launchMode="singleTop"清单中为我的LoginActivity添加了

谢谢你

0 投票
3 回答
18207 浏览

android - 如何使用视图寻呼机处理后退按钮?

我有两个片段 Frag A 和 Frag B 使用 view pager 呈现。如果用户从 A 滑到 B 然后按下返回按钮(在 B 中时),那么用户应该去 A 而不是离开 view pager 。我们怎样才能做到这一点?

将事务添加到 backstack 似乎没有帮助。

谢谢

0 投票
1 回答
5703 浏览

android - Android Fragments导航和backstack

我有一个标题栏(有点像菜单)和 4 个片段(MAIN、A、B、C),其中 MAIN 应该是 backstack 的“主/根”片段。

我遇到的问题是,当用户通过菜单进入例如 MAIN > A > B > C 时。如果我只是使用 backstack,它将以我不想要的相反顺序进行。无论用户如何导航到这 3 个之一,我都需要返回按钮才能返回 MAIN。

在此处输入图像描述

我当前的代码(这是错误的,它在不在 MAIN 中时退出应用程序并且当前片段从其他非 MAIN 片段切换)如下所示:

0 投票
6 回答
2448 浏览

android - 在返回按钮上退出 Android 应用程序

我的应用程序标题中有带有后退箭头的 ImageButton。当用户按下它时,我在当前 Activity 上调用 finish()。我也可以选择让用户回家,但我想以某种方式清除活动历史记录,所以当用户在主页活动上按下返回按钮时,应用程序会关闭。

我也可以在调用 home Activity 时为 Intent 设置一个参数,但是我应该调用什么来关闭应用程序?

0 投票
2 回答
1205 浏览

android - Android - 启动器和回栈行为

正如这里所说

当用户通过按 Home 按钮离开任务时,当前活动停止,其任务进入后台。<...> 如果用户稍后通过选择启动任务的启动器图标来恢复任务,则任务将进入前台并恢复堆栈顶部的活动。

所以我准备了简单的测试

活动 #1 == 设置了 onClick 的文本标记和按钮

活动 #2 == 只是文本标记

并体现

启动器图标不显示我最后一个活动,它总是启动第一个活动并将其放入堆栈。因此,在一项任务中可能有许多第一活动和许多第二活动。最近应用程序列表中的图标启动堆栈中的最后一个活动。我究竟做错了什么?

0 投票
1 回答
5085 浏览

android - 如何实现 saveFragmentInstanceState?

saveFragmentInstanceState()您能否建议我在按下后退按钮时如何实现或其他一些方法来检索片段实例。我使用自己的堆栈作为片段,即代码如下:

接下来是ActivityInTab类的实现。我认为这个类必须实现保存和检索片段状态的方法,但我仍然找不到如何做到这一点的方法。

最后,这是 Fragments 的实现:

我只能使用 保存方向更改的实例状态onSaveInstanceState(Bundle outState),但不能保存后退按钮。

我将非常感谢任何建议,谢谢。

0 投票
4 回答
644 浏览

android - 难以理解回栈和任务

我阅读了有关任务和回栈的信息(http://developer.android.com/guide/components/tasks-and-back-stack.html),但仍然有一些困惑。我只是在一个案例上尝试不同的东西和stcuk。举个例子:我们有两个应用程序 A1 和 A2。A1 有一个活动,比如 A1_first(也是主要活动),A2 有两个活动 A2_first(主要活动)和 A2_second。A2_second 是一个 singleTask 活动。A1_frist 在按钮按下时调用 A2_second,A2_first 也在按钮按下时调用 A2_second。

如果我启动 A2 我可以看到 A2_first 屏幕,按下按钮后我转到 A2_second(如预期的那样)但假设我首先启动 A1 并在按下按钮后 A2_second ,现在按下主页按钮并再次从启动器中的 A2 图标,我到达 A2_second 但是我希望达到 A2_first。

我不明白我错过了什么。有人可以解释按 A2 A1_first ----- > A2_second ----> home -----> A2_second (为什么不是 A2_first ?? A2_first 是 A2 的主要活动)。

0 投票
0 回答
408 浏览

android - 清除片段堆栈会导致错误

你能帮我解决这个问题吗?我有带标签的应用程序。每个选项卡都包含自己的片段返回堆栈。当我在用户按下任何选项卡时尝试清除后台堆栈时会出现问题。在调用堆栈活动时,我正在尝试清除堆栈onResume()。但是此解决方案会导致以下错误:

这是用于回栈的类。

和父类。在onResume()方法中发生了错误。

谢谢你的建议。

0 投票
3 回答
41286 浏览

android - 按下后退按钮时如何用片段A替换片段C?

我的场景:活动 1 由片段 A-> B-> C 组成。所有片段都使用以下代码添加:

现在,从片段C,我想直接返回片段A。因此,我ft.addToBackStack(TAG)在添加片段C时进行了评论。所以当我从CI按下返回按钮时,直接在屏幕上获取片段A。

但是,Fragment C 并没有被 A 取代。实际上,这两个 Fragment 都是可见的。我该如何解决这个问题?

0 投票
1 回答
72 浏览

android - 用于恢复一堆活动的顺序是什么?

Android 文档提供了对Tasks 和 Back Stack的看似详尽的描述,但我找不到以下问题的答案:当他们的任务(之前被系统杀死)大约时,活动以什么顺序恢复(重新创建)再次成为前台。

例如,如果一个任务有活动 A -> B -> C 并且在后台被杀死,那么当用户切换回它时,连续所有活动的顺序onCreateonRestoreInstanceState事件调用是什么?我们是否可以理所当然地认为 A 总是在 B 之前完全恢复,而 B 在 C 之前完全恢复?

问题来自 Google Play 的错误日志,这让我怀疑在调用子活动期间主要活动尚未恢复。