我有一个 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/