Java Parcelable在Intent putExtra上写入可序列化对象时遇到IOException
我正在构建一个应用程序,在其中我必须通过Java Parcelable在Intent putExtra上写入可序列化对象时遇到IOException,java,android,android-intent,serialization,Java,Android,Android Intent,Serialization,我正在构建一个应用程序,在其中我必须通过Intent传递列表 我的代码: public class ObjectModelWrapper implements Serializable{ private List<Object> objectModel; public ObjectModelWrapper(List<Object> objectModel) { this.objectModel = objectModel; }
Intent
传递列表
我的代码:
public class ObjectModelWrapper implements Serializable{
private List<Object> objectModel;
public ObjectModelWrapper(List<Object> objectModel) {
this.objectModel = objectModel;
}
public List<Object> getObjectModel() {
return objectModel;
}
}
新名单是:
private transient List<Object> newList;
为什么在列表中使用对象?尝试为列表的所有对象创建基类,并将继承类作为详细信息。然后,在每个类中,您都可以实现自己的Parcelable为什么要在列表中使用Object?尝试为列表的所有对象创建基类,并将继承类作为详细信息。然后,在每个类中,您可以实现自己的Parcelable添加崩溃日志。您可能是对的,问题在于对象
不可序列化。创建您自己的可序列化类,并从中继承。您可以发布您的项
模型类吗?它实现了序列化添加崩溃日志。您可能是对的,问题是对象
不可序列化。制作你自己的可序列化类,并从中继承。你能发布你的项目
模型类吗?它实现了可序列化我使用对象
,因为正如你所看到的,我想添加一个列表
,然后是一个字符串
,然后是另一个列表
游戏列表中有什么?也许,代替列表,尝试使用一些带有字符串的HashMap作为键?我使用对象
,因为正如您所看到的,我想添加一个列表
,然后是一个字符串
,然后是另一个列表
游戏列表中有什么?也许,代替列表,尝试使用一些带有字符串的HashMap作为键?
private transient List<Object> newList;
java.lang.RuntimeException: Parcelable encountered IOException writing serializable object (name = com.realtimegaming.network.models.ObjectModelWrapper)
at android.os.Parcel.writeSerializable(Parcel.java:1527)
at android.os.Parcel.writeValue(Parcel.java:1475)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:724)
at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1408)
at android.os.Bundle.writeToParcel(Bundle.java:1157)
at android.os.Parcel.writeBundle(Parcel.java:764)
at android.content.Intent.writeToParcel(Intent.java:8687)
at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:3082)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1518)
at android.app.Activity.startActivityForResult(Activity.java:4225)
at android.support.v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:50)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:79)
at android.app.Activity.startActivityForResult(Activity.java:4183)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:859)
at android.app.Activity.startActivity(Activity.java:4522)
at android.app.Activity.startActivity(Activity.java:4490)
at adapters.LobbyAdapter$1.onClick(LobbyAdapter.java:114)
at android.view.View.performClick(View.java:5637)
at android.view.View$PerformClick.run(View.java:22429)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Caused by: java.io.NotSerializableException: java.util.ArrayList$SubList
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1224)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
at java.util.ArrayList.writeObject(ArrayList.java:734)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:977)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1536)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1472)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1218)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1584)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1549)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1472)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1218)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
at android.os.Parcel.writeSerializable(Parcel.java:1522)
at android.os.Parcel.writeValue(Parcel.java:1475)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:724)
at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1408)
at android.os.Bundle.writeToParcel(Bundle.java:1157)
at android.os.Parcel.writeBundle(Parcel.java:764)
at android.content.Intent.writeToParcel(Intent.java:8687)
at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:3082)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1518)
at android.app.Activity.startActivityForResult(Activity.java:4225)
at android.support.v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:50)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:79)
at android.app.Activity.startActivityForResult(Activity.java:4183)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:859)
at android.app.Activity.startActivity(Activity.java:4522)
at android.app.Activity.startActivity(Activity.java:4490)
at adapters.LobbyAdapter$1.onClick(LobbyAdapter.java:114)
at android.view.View.performClick(View.java:5637)
at android.view.View$PerformClick.run(View.java:22429)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)