活动生命周期混乱

漂亮的

我是Android开发的新手,所以请原谅我的无知。

我有两个活动,A +B。如果从A-> B出发,A会保留下来,并且不会被破坏。当我从B-> A返回时(使用“后退”按钮),活动A被销毁并再次创建,然后活动B被销毁。

我一直在寻找保留活动A的方法,因此当我返回B-> A时,A会像以前一样保留。我可以通过设置活动A launchMode来实现这一点android:launchMode="singleTop"

任何人都可以解释最初的行为吗?或至少引导我阅读一些材料?当我按回B时,为什么A被破坏了?

如果我想以android:launchMode="singleTop"编程方式达到效果,我应该在B中捕获“ Back”调用并Intent使用自己的标志创建自己的调用吗?

将launchMode设置为singleTop是实现我想要的正确方法吗?

戴维·沃特

你有点困惑。您描述的情况与“向上”导航的行为相匹配。在您的帖子中,您描述了使用“后退”按钮(设备上的硬件按钮)从B-> A前进的过程。但是根据您的描述,您必须谈论的是“顶部”按钮(屏幕顶部操作栏中的““>”软图标)。如果要让UP导航使用活动A的现有实例(而不是创建新实例),则需要在清单中为活动AlaunchMode="singleTop"<activity>定义中进行设置

有关此详细信息,请参见UP导航的文档以下是相关内容的引文:

要在用户按下应用程序图标时向上导航,可以使用NavUtils类的静态方法navigateUpFromSameTask()当您调用此方法时,它会完成当前活动并启动(或恢复)适当的父活动。如果目标父活动在任务的后退堆栈中,则将其转发。提出的方式取决于父活动是否能够处理onNewIntent()呼叫:

  • 如果父活动具有启动模式<singleTop>,或者up intent包含FLAG_ACTIVITY_CLEAR_TOP,则将父活动带到堆栈的顶部,并通过其onNewIntent()方法接收该intent
  • 如果父活动具有启动模式<standard>,并且up intent不包含FLAG_ACTIVITY_CLEAR_TOP,则将父活动弹出堆栈,并在堆栈顶部创建该活动的新实例以接收该意图。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

活动生命周期Android

来自分类Dev

活动生命周期图中的矛盾与生命周期的描述

来自分类Dev

非前景活动的活动生命周期

来自分类Dev

活动生命周期和类属性

来自分类Dev

android服务和活动生命周期?

来自分类Dev

Cordova / phonegap活动生命周期

来自分类Dev

LocalBroadcastManager和活动生命周期

来自分类Dev

活动崩溃生命周期方法-Android

来自分类Dev

活动和服务的生命周期

来自分类Dev

片段与活动生命周期之间的关系

来自分类Dev

活动生命周期和类属性

来自分类Dev

Android 4.0 + /活动生命周期

来自分类Dev

活动生命周期方法规则

来自分类Dev

finish()和android活动生命周期

来自分类Dev

通过服务改变活动的生命周期?

来自分类Dev

活动生命周期。用户始终离线

来自分类Dev

了解活动和服务的生命周期

来自分类Dev

最近屏幕和活动生命周期

来自分类Dev

如果多窗口生命周期会影响android N中的活动生命周期?

来自分类Dev

Android应用程序生命周期方法有哪些?(不是活动生命周期方法。)

来自分类Dev

Android应用程序生命周期方法有哪些?(不是活动生命周期方法。)

来自分类Dev

Android项目生命周期-活动生命周期之前(Activity.onCreate())

来自分类Dev

如何在活动类别之外监视活动的生命周期

来自分类Dev

应用程序崩溃时的活动生命周期方法

来自分类Dev

未触发注册Android活动生命周期

来自分类Dev

iOS中的活动生命周期相当于什么?

来自分类Dev

DialogFragment如何影响呼叫活动的生命周期

来自分类Dev

使服务生命周期独立于活动

来自分类Dev

弹出窗口期间的活动生命周期

Related 相关文章

热门标签

归档