Map<String, List<String>>
进行包裹和取消包裹?例如:
List<String> studentNameList = new ArrayList<>();
Map<String, List<String>> map = new HashMap<>();
map.put("class_name", studentNameList);
我的答案:
// read
in.readMap(map, Map.class.getClassLoader());
// write
dest.writeMap(map);
我发现在OPPO / VIVO上使用readMap
时它将崩溃,但是在其他手机上也可以,并且我尝试在API 28的源代码上找到答案,在解组时没有发现任何订单错误。
我的简单日志似乎是造成解组顺序的原因,但是我确定它没问题,并且某些设备没有崩溃:
5 java.lang.RuntimeException:Parcel android.os.Parcel@8a5cf62: Unmarshalling unknown type code 57 at offset 4160
6 android.os.Parcel.readValue(Parcel.java:2849)
7 android.os.Parcel.readMapInternal(Parcel.java:3121)
8 android.os.Parcel.readMap(Parcel.java:2193)
9 my_package_name.Feed.<init>(Feed.java:162)
10 my_package_name.Feed$1.createFromParcel(Feed.java:170)
Map<String, List<User>>
进行包裹和取消包裹?例如:
List<User> studentList = new ArrayList<>();
Map<String, List<User>> map = new HashMap<>();
map.put("class_name", studentList);