如何将ArrayList <my_custom_class>传递给其他活动?</my_custom_class>

时间:2011-08-10 13:21:31

标签: android android-intent drawable parcelable

这个问题有2部分

我正在尝试将ArrayListActivity传递到另一个Arraylist。这个Drawable包含一些从我创建的类中实例化的对象(包含一些字符串和一个Parcelable)。

我在网上发现我需要让我的班级Drawable成为一个问题,特别是Parcelable。(这是第一部分)

我的班级实施Arraylist后,我将如何发送/获取{{1}}。

3 个答案:

答案 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列表吗?我怀疑一些重组可以完全避免这个问题。