android – 将LinkedHashMap发送到intent

我想将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.

上一篇:javascript – 第一次单击复选框时不调用函数


下一篇:javascript – jQuery:检测对象属性更改