我有一个arraylist
,我想从1个活动发送到另一个活动,我正在使用可序列化的程序,但最终收到以下错误消息。
java.lang.RuntimeException:遇到Parcelable IOException 编写可序列化的对象(名称= com.app ...)
我还在SO
上对此问题进行了评论,其中大多数人说Serialized
类中定义的所有类也应实现Serializable
,但这里{{ 1}},'RectF',Path
不是我的类,它们是android类,在这些类中我无法实现Matrix
。
这是我将阵列列表从1个活动发送到另一个活动的方式。
Serializable
这是我的课程。
Intent intent= new Intent(MainActivity.this, DetailsActivity.class);
Bundle bundle= new Bundle();
bundle.putSerializable("PATH_LIST", pathsList);
bundle.putString("FILE_NAME", fileName);
intent.putExtras(bundle);
startActivity(intent);
答案 0 :(得分:2)
这里的Path,'RectF',Matrix不是我的类,它们是android类,并且我不能在这些类中实现Serializable。
然后在Serializable
类中没有用于它们的字段。
要么:
这里没有单独的活动,而是做了其他事情(例如,一个活动和两个片段),从而避免了使用Intent
或
不要在活动之间传递此数据,而应使用不同的应用程序体系结构(例如,数据不由任何一个活动保存,而是由两个活动都可以交谈的存储库保存),或
创建一些可以构成Parceable
或Serializable
的数据结构,从中可以使用其所需的类重建模型对象,并传递Parcelable
/ {{ 1 {}中的数据结构,而不是Serializable
中的数据结构