这个问题有2部分
我正在尝试将ArrayList
从Activity
传递到另一个Arraylist
。这个Drawable
包含一些从我创建的类中实例化的对象(包含一些字符串和一个Parcelable
)。
我在网上发现我需要让我的班级Drawable
成为一个问题,特别是Parcelable
。(这是第一部分)
我的班级实施Arraylist
后,我将如何发送/获取{{1}}。
答案 0 :(得分:1)
您可以将ArrayList设置为公共静态,并可以通过将其称为Activity_name.array_list_name来访问所需的任何位置。
其中Activity_name是您将定义ArrayList的类名。
答案 1 :(得分:0)
Parcelable
,传递Object是不可能的。所以我建议创建名为store()
的类或其他东西并使其成为singleTon
。其中包含ArrayList()
类型的私有字段。并为同一个变量创建getter和setter以及创建对象的位置只需说store().getInstance().setObject(yourObject);
并且在获得
时store().getInstance().getObject();
答案 2 :(得分:0)
我强烈建议您重新评估您的架构。由于多种原因,您不应该跨越活动边界传递drawable,包括上下文泄漏,位图泄漏以及可能打破IPC调用的大小限制。
如果你确实需要这种行为,那么正确的方法是在数据库/ SharedPreference中保存可绘制数据,将你的位图保存到文件,然后在第二个活动开始时,你可以通过拉入数据来重新创建这些drawable和图像。
您能描述为什么两个不同的活动需要访问同一个drawables列表吗?我怀疑一些重组可以完全避免这个问题。