0
有人可以解釋爲什麼這段代碼不起作用嗎?getParcelableExtra奇怪的行爲(鍵X預期Parcelable,但值是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的):
- 調試:IN:{}
- 警告:重點
VAR
預計Parcelable
但價值是java.util.HashMap
。返回了默認值<null>
。投產生嘗試內部異常: - 警告
java.lang.ClassCastException: java.util.HashMap
- 調試:OUT:空
你說得對!謝謝。 – wrygiel