我想将 LinkedHashMap 发送到另一个 Intent。但是我不知道什么方法是允许的。
Bundle extras = getIntent().getExtras();
LinkedHashMap<Integer, String[]> listItems = extras.get(LIST_TXT);
最佳答案
您不能可靠地发送 LinkedHashMap
作为 Intent
extra。当您使用 LinkedHashMap
调用 putExtra()
时,Android 会发现该对象实现了 Map
接口(interface),因此它将名称/值对序列化为Intent
中的 extras Bundle
。当你想在另一边提取它时,你得到的是一个HashMap
,而不是一个LinkedHashMap
。不幸的是,您获得的这个 HashMap
丢失了您最初想要使用 LinkedHashMap
的原因。
唯一可靠的方法是将 LinkedHashMap
转换为有序数组,将数组放入 Intent
中,从 Intent 中提取数组
在接收端,然后重新创建 LinkedHashMap
。
参见 my answer to this question了解更多细节。
关于android - 将 LinkedHashMap 发送到 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4164050/