我试图从一个活动发送自定义对象到另一个活动,但是当我调用start活动它的崩溃。
下面是我使用的代码片段。
我的活动实现Serializable
ArrayList<CUSTOM_OBJECT> Cus_Obje_arraylist = new ArrayList<CUSTOM_OBJECT>();
这里是我的意图:
Intent inte = new Intent(getApplicationContext(), ListActivity.class); `
inte.putExtra("list",Cus_Obje_arraylist);`
startActivity(inte);
请让我知道为什么它的崩溃或者我可以用什么替代方法?
我可以给一个建议。 我这样做,在我的项目。
1.Implement单个类的桥梁来传递对象。 (希望你知道什么是单身,我不这样做,添加评论告诉我。
class BridgeClass {
private BridgeClass() {}
static BridgeClass obj = nil;
public BridgeClass instance() {
if (obj == nil) obj = new BridgeClass();
return obj;
}
public ArrayList<CUSTOM_OBJECT> cache;
}
2.In在从活动,
BridgeClass.instance().cache = Cus_Obje_arraylist;
3.Then中的活动,你可以从桥上类得到它。
ArrayList<CUSTOM_OBJECT> Cus_Obje_arraylist = BridgeClass.instance().cache;
您需要创建Parcelable对象从一个活动将自定义数组列表到另一个actvity。
然后把它放到使用这个API的Bundle对象。
putParcelableArrayList(key, value);
getParcelableArrayList(key);
===发件人===
ArrayList<Custom> ar = new ArrayList<Custom>();
Bundle bundle = new Bundle("test");
bundle.putParcelableArrayList("key", ar);
Intent intent = new Intent(this, anotherActivity.class);
intent.putBundle(bundle);
===接收机===
Bundle bundle = getIntent().getBundleExtra("test");
ArrayList<Custom> ar = bundle.getParcelableArrayList("key");
如果你有任何问题,评论它。