我正在处理我的Android项目。 Delivery.java是交货清单,我想点击选定的交货并重定向到DeliveryDetails.java,显示交货的详细信息。
但我得到了这个:
错误:致命例外:主要
当我重定向到DeliveryDetails.java时,我的应用程序停止/崩溃。
这是我的代码:
Delivery.java(将数据发送到DeliveryDetails.java)
private ArrayList<Delivery> deliveryList;
private ListView lvDelivery;
lvDelivery.setOnItemClickListener(this);
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Delivery selectedDelivery = deliveryList.get(i);
Intent in = new Intent(ListActivity.this, DetailActivity.class);
in.putExtra("delivery", (Serializable) selectedDelivery);
startActivity(in);
}
DeliveryDetails.java(读取/接收来自Delivery.java的数据)
Delivery delivery = (Delivery) getIntent.getSerializableExtra("product");
错误:
FATAL EXCEPTION: main
Process: com.example.myproject.delivery, PID: 22095
java.lang.ClassCastException: com.example.myproject.delivery.Delivery cannot be cast to android.os.Serializable
答案 0 :(得分:0)
您必须使交付类可序列化,这样您就可以将对象从一个Activity传递到另一个Activity。
但我会建议您使用可序列化界面而不是可序列化。下面是一个示例,如何创建一个类parcelabe并将对象从一个活动传递到另一个活动click here ...
Parcelabe 与可序列化 Difference之间存在差异。