无法在android中使用Parcelable类中提交的日期
我在一个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
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);