diadia

興味があることをやってみる。自分のメモを残しておきます。

エラー:java.lang.RuntimeException: Parcelable encountered IOException writing serializable object

エラー内容

java.lang.RuntimeException: Parcelable encountered IOException writing serializable object

エラーが出た状況

独自のモデルを作成し、そのインスタンスをintentを通じて起動するActivityへ渡す際にエラーが生じる。

また独自モデルにはSerializableをimplementしていた。

エラー対処

作成したdata classにSerializableを実装していたが、作成したdata classの属性にも自作モデルが含まれていた。 属性の自作モデルにもSerializabkeを実装することでエラーを解消する事ができた。

このエラーに対する教訓

intentにserializableでアクティビティ間でデータを受け渡す際には、モデルにserializableを実装する。 その際、モデルの属性に別のモデルが含まれている場合にはそのモデルにもserializerを実装しなければならない。

参考:エラー解消の為にSerializableをimplementする旨

android - Parcelable encountered IOException writing serializable object getactivity() - Stack Overflow