我想将LinkedHashMap发送给另一个Intent.但我不知道有什么额外的方法是允许的.
Bundle extras = getIntent().getExtras();
LinkedHashMap<Integer, String[]> listItems = extras.get(LIST_TXT);
解决方法:
您无法可靠地将LinkedHashMap作为Intent额外发送.当您使用LinkedHashMap调用putExtra()时,Android会看到该对象实现了Map接口,因此它将名称/值对序列化为Intent中的extras Bundle.当你想在另一边提取它时,得到的是HashMap,而不是LinkedHashMap.不幸的是,你得到的这个HashMap失去了排序,这就是你想要首先使用LinkedHashMap的原因.
唯一可行的方法是将LinkedHashMap转换为有序数组,将数组放入Intent,从接收端的Intent中提取数组,然后重新创建LinkedHashMap.
有关更多详细信息,请参阅my answer to this question.