无法在android中使用Parcelable类中提交的日期

无法在android中使用Parcelable类中提交的日期,android,parcelable,Android,Parcelable,我在一个android项目中工作,我想将对象列表从一个活动传递到另一个活动。对象中也有日期字段。。我已经用Parcelable实现了我的类,以便从一个活动传递我的对象列表,并且我不需要解析我的日期字段。所以请给我一个解决方案 这是我想通过的课程 public class Consumer { public int BusClientLogID; public int ClientID; public String ClientName; public int C

我在一个android项目中工作,我想将对象列表从一个活动传递到另一个活动。对象中也有日期字段。。我已经用Parcelable实现了我的类,以便从一个活动传递我的对象列表,并且我不需要解析我的日期字段。所以请给我一个解决方案

这是我想通过的课程

public class Consumer {

    public int BusClientLogID;
    public int ClientID;
    public String ClientName;
    public int ClientStatus;
    public int Client_GroupStatus;
    public String EmployeeName;
    public String ServiceCompletedCount;
    public Date SignInTime;
    public Date TimeArrive;
    public Date TimeDepart;
    public Date SignOutTime;
}

或者,您可以使用
long
,然后将其转换为
Date
并返回。下面是一个示例,演示如何在SignityTime字段中执行此操作

public class Consumer implements Parcelable {

    public long SignInTime;

    public Consumer(Parcel in) {
        SignInTime = in.readLong();
    }

    public Date getSignInTime() {
        return new Date(SignInTime);
    }

    public void setSignInTime(Date date) {
        SignInTime = date.getTime();
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeLong(SignInTime);
    }

    @Override
    public int describeContents() {
        return 0;
    }

}

由于Date是一个可序列化对象,您应该能够使用writeList():

List List=new ArrayList();
包裹书写清单(清单);
ArrayList还实现了Serializable,因此您可以使用writeValue():

List List=new ArrayList();
包裹书面价值(清单);

最糟糕的情况是,您可以使用writeSerializable()

如何转换…任何转换itI的示例代码我在答案中添加了一个示例
List<Date> list = new ArrayList<Date>();
parcel.writeList(list);
List<Date> list = new ArrayList<Date>();
parcel.writeValue(list);