serializacji:Podczas korzystania z pakietu Android, dlaczego serializowany stos deserialise jako ArrayList?
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");
Wyjątek
12-20 23: 19: 45,698: E/Android Runtime (12145) spowodowane przez: java.lang.ClassCastException : java.util.ArrayList nie można przesłać do java.util.Stack
Dzięki za odpowiedź. Ostatecznie po prostu użyłem listy tablic, ponieważ oznaczało to jeden wiersz kodu do usunięcia elementu po przeczytaniu. Stack był odpowiednim narzędziem do pracy, ale lista układów nie była daleko! –
To świetne rozwiązanie. – dmon
** Vector ** to super klasa Stack - nie ArrayList. –