有人可以解释为什么这段代码不起作用吗?
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):
- 调试: 在:{}
- 警告:键是
VAR
预期Parcelable
的,但值是java.util.HashMap
. 已返回默认值<null>
。 - 警告:尝试强制转换生成的内部异常:
java.lang.ClassCastException: java.util.HashMap
- 调试: OUT:空