具有Seri​​alizable和Custom Interface的可序列化对象的Java RuntimeException

时间:2013-06-19 21:59:56

标签: java android serialization android-intent android-activity

我遇到以下问题:

假设我有RiceContainerClass这样:

public class RiceContainerClass implements Serializable{
 private typeOfRice
 private countryOfOrigin

 ...

我可以扩展这个类,(也许我想要一些SteamedRiceClass),但最重要的是我能够在Activities之间将此类传递给我当前的实现。

当我决定我的Rice课程可能需要Sauceable接口时,问题就出现了。

我写了界面:

public interface Sauceable{

  public void setTypeOfSauce(Sauce sc)

  public Sauce getRiceSauce()
}

(在我的计划中,Sauce实际上是Drawable

当我修改RiceContainerClass以实现Sauce接口时:

public class RiceContainerClass implements Serializable, Sauceable

我在运行时从logcat中得到以下错误:

java.lang.RuntimeException: Parcelable encountered IOException writing serializable object (name = com.example.app.RiceContainerClass)

有关该怎么做的任何建议?我试着让Sauce类扩展Serializable,认为这可能无济于事。

1 个答案:

答案 0 :(得分:0)

这意味着app.RiceContainerClass不是Serializable

只需确保此类实现Serializable接口并定义写入和读取Object的方法。

您可以查看一些示例here