Android 整理 Intent 调用父级的 onCreate()

Posted

技术标签:

【中文标题】Android 整理 Intent 调用父级的 onCreate()【英文标题】:Android finishing Intent calls onCreate() of parent 【发布时间】:2021-09-08 18:39:33 【问题描述】:

我遇到了由于 NullPointerException 而导致我的应用程序不断崩溃的问题。由于缺少值,无法进行数据库查询。 我已经调查过,发生了以下情况: A 类由 MainActivity 设计(使用 IntentExtra int id)。A 类在 B 上生成 Intent。 B 通过单击“后退”按钮完成(硬件后退按钮实际上有效。问题在于左上角的那个)。 A.onCreate() 再次被调用(但创建它的 Intent 与以前不同,因此没有 id Extra)。但我想回到A 之前的状态。我需要有一些变量的实例。

有什么解决方法吗?或者为什么会调用 onCreatebeeing?

【问题讨论】:

onCreate() of A 被调用,因为您使用 Intent 启动了活动 (A)。如果您希望每次程序启动活动 A 时都将变量设置为特定值,您可以简单地在 onCreate() 中设置该值。 好吧,也许我的描述不够清楚......在 MainActivity 中,用户单击列表视图中的字段。这会在 A 上创建一个 Intent,并为其提供用户单击的 Id。在 A 中还有一个元素列表视图。在这里,用户还单击了一个 (id2)。这意味着具有特定 id,id2 的 B 显示更多信息。当 B 被“back”关闭时,它应该在 A 处“备份”并使用给定的 Id,因此恢复状态 【参考方案1】:

问题是: 活动的成员在停止时会被“擦除”。为了防止这种情况,您可以使用 SharedPreferences。Here 是一个很好的描述。 --> 保存持久化状态

【讨论】:

以上是关于Android 整理 Intent 调用父级的 onCreate()的主要内容,如果未能解决你的问题,请参考以下文章

如何让 PHP 类构造函数调用其父级的父级构造函数?

Android高级ui13-nestedscrollview嵌套滚动机制

android -> 将 ImageView 的高度设置为父级的动态高度

在父级的 ngOnDestroy 之后未调用 Angular ngOnChanges

如果父级不调用 wait(),则同一父级的两个子级不使用管道进行通信

在 android 设备上渲染 webview 与来自同一个父级的先前兄弟级重叠