我想将LinkedHashMap发送给另一个Intent。但我不知道有什么额外的方法是允许的。
Bundle extras = getIntent().getExtras();
LinkedHashMap<Integer, String[]> listItems = extras.get(LIST_TXT);
答案 0 :(得分:2)
您无法可靠地发送LinkedHashMap
作为Intent
额外费用。当您使用putExtra()
致电LinkedHashMap
时,Android会看到该对象实现了Map
接口,因此它将名称/值对序列化为{Bundle
中的Intent
1}}。当你想在另一边提取它时,得到的是HashMap
,而不是LinkedHashMap
。不幸的是,您获得的这个HashMap
已经失去了排序,这是您首先想要使用LinkedHashMap
的原因。
唯一可行的方法是将LinkedHashMap
转换为有序数组,将数组放入Intent
,从接收端的Intent
中提取数组,然后重新创建LinkedHashMap
。
有关更多详细信息,请参阅my answer to this question。
答案 1 :(得分:0)
最好的方法是将其转换为相同类型的ArrayList
examble:
integer i;
initial begin
for (i=0; i<8; i=i+1) begin
#5;
{a,b,c} = i;
end
end