活动导航



我是创建 android 应用程序的新手,我正在尝试做一些看起来应该很简单的事情,但即使在这里搜索后,我似乎也找不到一种方法来做我想做的事......

我有2项活动(A和B(。 活动 A 具有启动活动 B 的导航按钮,活动 B 具有启动活动 A 的导航按钮。两者都是用如下代码实现的:

Intent intent = new Intent(this, ActivityB.class);
startActivity(intent);

如果我启动我的应用程序并且活动 A 在屏幕上,然后我按返回键,应用程序会随心所欲地"消失"。

目前为止,一切都好。

但是,如果我启动我的应用程序,并使用导航按钮从 A 切换到 B,然后从 B 切换回 A,然后按返回键,则会出现活动 B。 我想要的是,每当我从活动 A 按后退键时,我都希望我的应用"消失",就像我尚未离开活动 A 时一样。 这能做到吗?

为此,请在 ActivityB 的导航按钮中执行以下操作:

Intent intent = new Intent(this, ActivityB.class);
intent.setFlags(FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();

这使您的 ActivityA 实例出现在前面,而不是创建一个新实例。通过完成活动B,后退按钮将使应用程序"消失"。

尝试以下代码:

Intent intent = new Intent(this, A.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(intent);
finish();

使用 Intent.FLAG_ACTIVITY_CLEAR_TOP |Intent.FLAG_ACTIVITY_SINGLE_TOP旗

Intent a = new Intent(this,ActivityA.class);
a.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(a);

现在,每当我们返回到 A 时,A 上方的所有内容都会被清除,并再次将其设置为根活动。

好读https://developer.android.com/guide/components/activities/tasks-and-back-stack.html

相关内容

  • 没有找到相关文章

最新更新