android 开发Parcelable 怎么传值ArrayList
2015-09-01 17:49
567 查看
public class TradeEntity implements Parcelable{ public String id; //有关进度条的参数 ArrayList<TradeStateNodeInfo> nodes; public TradeEntity() { nodes = new ArrayList<TradeStateNodeInfo>(); } /////////////////////////实现parcel接口/////////////////////////////// @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel out, int arg1) { out.writeString(id); out.writeList(nodes); } private TradeEntity(Parcel in) { id = in.readString(); nodes = in.readArrayList(TradeStateNodeInfo.class.getClassLoader()); } public static final Parcelable.Creator<TradeEntity> CREATOR = new Parcelable.Creator<TradeEntity>() { public TradeEntity createFromParcel(Parcel in) { return new TradeEntity(in); } public TradeEntity[] newArray(int size) { return new TradeEntity[size]; } }; }
以上问题还会出现不能传值的问题,解决如下:
将 TradeStateNodeInfo 也要实现parcel接口
import android.os.Parcel; import android.os.Parcelable; /** * 交易状态 * @author huqiang * */ public class TradeStateNodeInfo implements Parcelable{ public int active; //颜色激活(-1、错误;0、未激活;1、激活;2、当前步骤成功) public String time ; public String name ; //节点名称 public TradeStateNodeInfo() {} private TradeStateNodeInfo(Parcel in) { active = in.readInt(); time = in.readString(); name = in.readString(); } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel out, int flag) { out.writeInt(active); out.writeString(time); out.writeString(name); } public static final Parcelable.Creator<TradeStateNodeInfo> CREATOR = new Parcelable.Creator<TradeStateNodeInfo>() { public TradeStateNodeInfo createFromParcel(Parcel in) { return new TradeStateNodeInfo(in); } public TradeStateNodeInfo[] newArray(int size) { return new TradeStateNodeInfo[size]; } }; }
相关文章推荐
- Android用户界面优化-Android SlidingMenu菜单栏程序设计开发
- AndroidStudio插件GsonFormat快速实现JavaBean
- [转]ArcGIS Runtime SDK For Android 授权方法(去除水印)
- 属性资源与Android命名空间
- android 无法生成R文件的原因
- Android 屏幕适配方式
- 支持Android4.0以下webp的使用
- Android 屏幕旋转操作Demo
- android 实现滤镜效果
- android中保存一个ArrayList到SharedPreferences的方法
- android 安全之——文件加密jni实现
- Android开发者必知的开源库
- 强烈推荐android studio用的几个插件
- Android Spinner 的具体用法
- Android图片高斯模糊的一些方法
- Android通过第三方应用将自己的应用信息分享出去
- [工作笔记之三] 通过adb查看android手机CPU和内存占用情况
- Android 触摸事件分发传递机制
- Android自定义属性的使用
- Android内存优化总结