当前位置: 首页 > news >正文

Parcelable protocol requires a Parcelable.Creator object called。。。。。

[java] view plain copy print ?
  1. publicclassPersonimplementsParcelable{
  2. //成员变量
  3. privateintid;
  4. privateStringname;
  5. //1.必须实现Parcelable.Creator接口,否则在获取Person数据的时候,会报错,如下:
  6. //android.os.BadParcelableException:
  7. //ParcelableprotocolrequiresaParcelable.CreatorobjectcalledCREATORonclasscom.um.demo.Person
  8. //2.这个接口实现了从Percel容器读取Person数据,并返回Person对象给逻辑层使用
  9. //3.实现Parcelable.Creator接口对象名必须为CREATOR,不如同样会报错上面所提到的错;
  10. //4.在读取Parcel容器里的数据事,必须按成员变量声明的顺序读取数据,不然会出现获取数据出错
  11. //5.反序列化对象
  12. publicstaticfinalParcelable.Creator<Person>CREATOR=newCreator(){
  13. @Override
  14. publicPersoncreateFromParcel(Parcelsource){
  15. //TODOAuto-generatedmethodstub
  16. //必须按成员变量声明的顺序读取数据,不然会出现获取数据出错
  17. Personp=newPerson();
  18. p.setId(source.readInt());
  19. p.setName(source.readString());
  20. returnp;
  21. }
  22. @Override
  23. publicPerson[]newArray(intsize){
  24. //TODOAuto-generatedmethodstub
  25. returnnewPerson[size];
  26. }
  27. };
  28. publicintgetId(){
  29. returnid;
  30. }
  31. publicvoidsetId(intid){
  32. this.id=id;
  33. }
  34. publicStringgetName(){
  35. returnname;
  36. }
  37. publicvoidsetName(Stringname){
  38. this.name=name;
  39. }
  40. @Override
  41. publicintdescribeContents(){
  42. //TODOAuto-generatedmethodstub
  43. return0;
  44. }
  45. @Override
  46. publicvoidwriteToParcel(Parceldest,intflags){
  47. //TODOAuto-generatedmethodstub
  48. //1.必须按成员变量声明的顺序封装数据,不然会出现获取数据出错
  49. //2.序列化对象
  50. dest.writeInt(id);
  51. dest.writeString(name);
  52. }
  53. }

相关文章:

  • MOTOROLA MC40 android系统扫描开发
  • cocos2d-x开启IOS多点触控
  • android友盟注意事项
  • Android编程之Intent源码详解
  • Android编程之LocalBroadcastManager源码详解
  • Android编程之DialogFragment源码详解(一)
  • Android编程之DialogFragment源码详解(二)
  • 在Mac上配置cocos2d-x 3.0,xcode5资源无法刷新的问题
  • 在Mac上配置cocos2d-x 3.0的Android开发环境
  • cocos2d-x 3.0的lua-binding接口导出
  • Sublime Text 3技巧:支持GB2312和GBK编码
  • android Ant 批量多渠道打包 总结!
  • Android编程之ArrayList源码详解及使用
  • 让Xcode 支援Lua 语法高亮
  • cocos2d-x关闭线性过滤
  • .pyc 想到的一些问题
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • Golang-长连接-状态推送
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • js面向对象
  • Laravel Telescope:优雅的应用调试工具
  • mac修复ab及siege安装
  • orm2 中文文档 3.1 模型属性
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • swift基础之_对象 实例方法 对象方法。
  • Vue2.0 实现互斥
  • 初探 Vue 生命周期和钩子函数
  • 记录:CentOS7.2配置LNMP环境记录
  • 嵌入式文件系统
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • ![CDATA[ ]] 是什么东东
  • ###项目技术发展史
  • #mysql 8.0 踩坑日记
  • #NOIP 2014#Day.2 T3 解方程
  • #数学建模# 线性规划问题的Matlab求解
  • (2)(2.10) LTM telemetry
  • (2)STL算法之元素计数
  • (day6) 319. 灯泡开关
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (二)fiber的基本认识
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (生成器)yield与(迭代器)generator
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (一)Java算法:二分查找
  • (转)Linq学习笔记
  • (转)ObjectiveC 深浅拷贝学习
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
  • .NET设计模式(8):适配器模式(Adapter Pattern)
  • .net最好用的JSON类Newtonsoft.Json获取多级数据SelectToken