【发布时间】:2014-11-05 02:25:02
【问题描述】:
我需要一些数据管理方面的帮助。希望我能很好地解释这一点。我在 A 类中创建并实例化了一个 ArrayList,但我想在 B 类中显示数据。这比这有点棘手,让我解释一下我的步骤。
我在 A 类中创建了一些 setter 和 getter
public static void setArray(ArrayList<String> list) {
ClassA.mList = list;
}
public static ArrayList<String> getArray() {
return mList;
}
在 A 类中,我使用一项填充数组,mList.add("item")。现在我的列表中有一个项目(mList),我开始一个新的活动
Intent intent = new Intent(ClassA.this, ClassB.class);
startActivity(intent);
我故意没有完成()这个活动。现在我在 B 类中,我通过使用我的 getter 方法打印出数组中的第一项来测试数据是否持续存在。
System.out.println("Data persists? " + ClassA.getArray().get(0));
到目前为止一切正常。但是现在我完成() B 类,这使我回到 A 类。我为 A 类添加了 onResume() 以将另一个项目添加到我的列表(mList)中,然后我再次开始第二个活动(B 类)。然后我使用递归检查我的arraylist中是否有两个项目,并且只有1个。我还检查了onResume是否可以打印出任何内容,并且mList的大小为0。我的猜测是它重新实例化了,并重置列表?
如何在离开 Activity 然后返回后维护 ArrayList 中的数据?我希望能够在每次返回 A 类时向该数组列表添加/更新数据
提前谢谢你
【问题讨论】: