0
Может кто-нибудь объяснить, почему этот код не работает?Странное поведение getParcelableExtra (ключевой X ожидалось, но значение было Y)
Intent i = new Intent(this.context, SomeClass.class);
HashMap<String, String> tmp1 = new HashMap<String, String>();
Log.d(TAG, "IN: " + String.valueOf(tmp1));
i.putExtra("VAR", tmp1);
HashMap<String, String> tmp2 = i.getParcelableExtra("VAR");
Log.d(TAG, "OUT: " + String.valueOf(tmp2));
Что я ожидаю получить:
- HashMap является parcellable.
tmp1
должен соответствоватьtmp2
.
То, что я на самом деле получить (LogCat):
- Debug:IN: {}
- Предупреждение: Key
VAR
ожидаетсяParcelable
но стоимость былаjava.util.HashMap
. Значение по умолчанию<null>
было возвращено. - Предупреждение: Попытка литой генерируется внутреннее исключение:
java.lang.ClassCastException: java.util.HashMap
- Debug:OUT: нулевой
Вы правы! Спасибо. – wrygiel