このコードが機能しない理由を誰かが説明できますか?
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はパーセル可能です。
tmp1
等しいはずtmp2
です。
私が実際に得るもの(LogCat):
- デバッグ: IN:{}
- 警告:キーが必要
VAR
ですParcelable
が、値はでしたjava.util.HashMap
。デフォルト値<null>
が返されました。 - 警告:生成された内部例外をキャストしようとしました:
java.lang.ClassCastException: java.util.HashMap
- デバッグ: OUT:null