连载:
Bundle activityArguments = new Bundle();Stack<Class<? extends WizardStep>> wizardSteps = new Stack<Class<? extends WizardStep>>(); wizardSteps.push(CreatealarmStep5VIEw.class); wizardSteps.push(CreatealarmStep4VIEw.class); wizardSteps.push(CreatealarmStep3VIEw.class); wizardSteps.push(CreatealarmStep2VIEw.class); wizardSteps.push(CreatealarmStep1VIEw.class); activityArguments.putSerializable("WizardSteps", wizardSteps);
Deserialisation:
Stack<Class<? extends WizardStep>> wizardSteps = (Stack<Class<? extends WizardStep>>) getIntent().getExtras().getSerializable("WizardSteps");
例外:
12-20 23:19:45.698:E / AndroIDRuntime(12145):引起:java.lang.classCastException:java.util.ArrayList无法强制转换为java.util.Stack
解决方法:
它的知名度为bug.我很惊讶它仍然存在.
使用通用容器,如:
public class SerializableHolder implements Serializable {private Serializable content;public Serializable get() { return content;}public SerializableHolder(Serializable content) { this.content = content; }}
如果您使用GSON库,请将Stack转换为String并将其用作Bundle的单个String,而不使用Serialize.它应该工作.
总结以上是内存溢出为你收集整理的使用android包时,为什么序列化堆栈反序列化为ArrayList?全部内容,希望文章能够帮你解决使用android包时,为什么序列化堆栈反序列化为ArrayList?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)