java - finish() 正在销毁我的对象

标签 java android class

我有一个 Activity ,它创建了我创建的名为classA的类的新实例。在classA中,我有一个方法将对象添加到位于classA中的STATICarrayList

所以我的 Activity 看起来像这样:

SecondaryActivity extends Activity {

// creating instance of classA:
classA ca = new classA();

// method that adds object to arrayList:
ca.addObject(Object);

添加对象后,我想返回到我的主要 Activity ,因此我调用 SecondaryActivity.this.finish()

...工作正常,但唯一的问题是在我的主要 Activity 中,arrayList 不保存我添加的对象。

我在 secondaryActivity 中放置了一些 Log 方法,我发现我成功地将一个对象添加到 arrayList 中,但在我调用 finish() 后,它不在那里。我假设正在发生的事情是 finish() 破坏了我对 classA 的引用,然后破坏了我添加的对象。

我不确定这是否正在发生。有人可以向我解释一种有效的方法来做我想做的事情吗?提前致谢。

最佳答案

我所做的是,我正在 mainActivity 的 onCreate 方法中检查 ArrayList,因此,当我在其子 Activity 上调用 finish() 时,它不会在我的 mainActivity 上调用 onCreate()

因此,我在 onStart() 方法中重置了 mainActivity 中的 classA,效果很好。

关于java - finish() 正在销毁我的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30041280/

相关文章:

java - 如何将具有内联模式的 XML 字符串处理为 Java 对象?

java - 使用错误的小数分隔符在 Android 中格式化货币

具有在 2 个不同子类中实现的虚拟方法的 C++ 父类

java - 发现异常或服务器正在运行时自动停止 "tail -f catalina.out"

java - 从简单列表创建父/子数据结构

android - ListView 最后一项底部对齐

android - 正则表达式模式去除一些无效的 JSON 元素

c++ - Eclipse 方法无法在简单程序 C++ 中解析

VB.NET强类型集合

java - 如何解决Spring Boot中Microsoft SQL的 "cannot cast object"问题?