我有这样的课程。
public class RateData {
Map<String, List<RateDTO>> rateMap;
}
public class RateDTO {
private String code;
private String name;
private String value;
}
现在我需要可分割这个 RateData 类。我想我们不能打包这个rateMap
作为普通变量。
请给我一个如何做到这一点的例子。
你应该做DateRTO
Parcelable
- 这应该是微不足道的。然后,
Map<String, List<RateDTO>> map;
public void writeToParcel(Parcel out, int flags) {
out.writeInt(map.size());
for (Map.Entry<String, List<RateDTO>> entry : map.entrySet()) {
out.writeString(entry.getKey());
final List<RateDTO> list = entry.getValue();
final int listLength = list.size();
out.writeInt(listLength);
for (RateDTO item: list) {
out.writeParcelable(item, 0);
}
}
}
private MyParcelable(Parcel in) {
final int size = in.readInt();
for (int i = 0; i < size; i++) {
final String key = in.readString();
final int listLength = in.readInt();
final List<RateDTO> list = new ArrayList<RateDTO>(listLength);
for (int j = 0; j < listLength; j++) {
final RateDTO value = in.readParcelable(ParentClass.class.getClassLoader());
list.add(value);
}
map.put(key, list);
}
}
我还没有测试过代码,但我相信它应该接近正常。请注意,如果您的地图相对较大,则此解决方案并不是特别好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)