Android关于Intent传递List<Map<?,?>>类型数据的问题
我在一个服务中获得了一个List<Map<?,?>>类型的数据,想要通过广播发送给其它组件,我自己写了个类实现Parcelable接口用来处理Map,就是普通的javab...
我在一个服务中获得了一个List<Map<?,?>>类型的数据,想要通过广播发送给其它组件,我自己写了个类实现Parcelable接口用来处理Map,就是普通的javabean,也就是说最后需要发送的数据是ArrayList<? extends Parcelable>类型的,广播发送过来的时候也确实接收到了list,大小也对,但就是每个map都为空,难道还是因为Map必须要处理么,到底要怎么处理呢
展开
2016-05-16
展开全部
我估计你写的时间是不是以map 为对象写的,哪么还需要以 map为对象读一下;
例:
Map<String,xxObject> map = (Map<String,xxObject>) ois.readObject();
才可以得到 map的内容;
总之写入什么对象,强转时出来也是什么对象;
例:
Map<String,xxObject> map = (Map<String,xxObject>) ois.readObject();
才可以得到 map的内容;
总之写入什么对象,强转时出来也是什么对象;
追问
我每个map里有两个value,一个String,一个是从第三方API回调回来的对象并实现了Parcelable,map能正常传过去但就是空,我怀疑是String实现了Serializable的原因
追答
我有这么写过,是没有问题的;
转化时一定要用同一个对像;
如果你是在不同的项目中实现了xxObject,也是不行的。
展开全部
传数据
Intent intent = new Intent(MyContactActivity.this,ChangeContactActivity.class);
intent.putExtra("row",(Serializable) data.get(i));
接收数据
Intent intent = getIntent();
Map<String,Object> map = new HashMap<>();
map = (Map<String, Object>) intent.getSerializableExtra("row");
Intent intent = new Intent(MyContactActivity.this,ChangeContactActivity.class);
intent.putExtra("row",(Serializable) data.get(i));
接收数据
Intent intent = getIntent();
Map<String,Object> map = new HashMap<>();
map = (Map<String, Object>) intent.getSerializableExtra("row");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询