android Parcelable写入类对象
在我的一个项目类中,我使用的是android Parcelable写入类对象,android,Android,在我的一个项目类中,我使用的是Parcelable,我试图读取和写入类对象,我找不到任何解决方案,例如: public static class ListsBean implements Parcelable { private UserDailyListBean UserDailyList; private List<FoodsBean> foods; private ListsBean(Parcel in) { in.readList
Parcelable
,我试图读取和写入类对象,我找不到任何解决方案,例如:
public static class ListsBean implements Parcelable {
private UserDailyListBean UserDailyList;
private List<FoodsBean> foods;
private ListsBean(Parcel in) {
in.readList(new ArrayList<FoodsBean>(), null);
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeList(foods);
}
public static class UserDailyListBean {
private String id;
private String diet_visit_id;
}
public static class FoodsBean {
private String id;
private String meal;
private String food;
...
}
}
公共静态类ListsBean实现了Parcelable{
私有UserDailyListBean UserDailyList;
私人清单食品;
私人ListsBean(包裹中){
in.readList(新的ArrayList(),null);
}
@凌驾
公共int描述内容(){
返回0;
}
@凌驾
公共无效写入包裹(包裹目的地,内部标志){
目的地记录员(食品);
}
公共静态类UserDailyListBean{
私有字符串id;
私人字符串diet\u visit\u id;
}
公共静态类FoodsBean{
私有字符串id;
私人串餐;
私人串食;
...
}
}
在这个类中,我有一个字段,比如
userdailyllistbean
,它的notList
类似于FoodsBean
,如何读写它呢?你可以让userdailyllistbean实现Parcelable并做类似的事情
public class ListsBean implements Parcelable {
private UserDailyListBean UserDailyList;
private List<FoodsBean> foods;
public ListsBean() {}
public static class UserDailyListBean implements Parcelable {
private String id;
private String diet_visit_id;
public UserDailyListBean() {}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(this.id);
dest.writeString(this.diet_visit_id);
}
protected UserDailyListBean(Parcel in) {
this.id = in.readString();
this.diet_visit_id = in.readString();
}
public static final Creator<UserDailyListBean> CREATOR = new Creator<UserDailyListBean>() {
@Override
public UserDailyListBean createFromParcel(Parcel source) {
return new UserDailyListBean(source);
}
@Override
public UserDailyListBean[] newArray(int size) {
return new UserDailyListBean[size];
}
};
}
public static class FoodsBean {
private String id;
private String meal;
private String food;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeParcelable(this.UserDailyList, flags);
dest.writeList(this.foods);
}
protected ListsBean(Parcel in) {
this.UserDailyList = in.readParcelable(UserDailyListBean.class.getClassLoader());
this.foods = new ArrayList<FoodsBean>();
in.readList(this.foods, FoodsBean.class.getClassLoader());
}
public static final Creator<ListsBean> CREATOR = new Creator<ListsBean>() {
@Override
public ListsBean createFromParcel(Parcel source) {
return new ListsBean(source);
}
@Override
public ListsBean[] newArray(int size) {
return new ListsBean[size];
}
};
}
公共类ListsBean实现了可包裹{
私有UserDailyListBean UserDailyList;
私人清单食品;
公共列表bean(){}
公共静态类UserDailyListBean实现Parcelable{
私有字符串id;
私人字符串diet\u visit\u id;
公共用户DailyListBean(){}
@凌驾
公共int描述内容(){
返回0;
}
@凌驾
公共无效写入包裹(包裹目的地,内部标志){
dest.writeString(此.id);
目的地记录(本次节食就诊id);
}
受保护的UserDailyListBean(包中){
this.id=in.readString();
this.diet_visit_id=in.readString();
}
公共静态最终创建者=新创建者(){
@凌驾
公共用户DailyListBean createFromParcel(地块源){
返回新的UserDailyListBean(源);
}
@凌驾
public UserDailyListBean[]newArray(整数大小){
返回新的UserDailyListBean[size];
}
};
}
公共静态类FoodsBean{
私有字符串id;
私人串餐;
私人串食;
}
@凌驾
公共int描述内容(){
返回0;
}
@凌驾
公共无效写入包裹(包裹目的地,内部标志){
dest.writeParcelable(this.UserDailyList,标志);
目的书面列表(本文件为食品);
}
受保护的ListsBean(包裹中){
this.UserDailyList=in.readParcelable(UserDailyListBean.class.getClassLoader());
this.foods=new ArrayList();
in.readList(this.foods,FoodsBean.class.getClassLoader());
}
公共静态最终创建者=新创建者(){
@凌驾
公共列表Bean createFromParcel(地块源){
返回新的ListsBean(源);
}
@凌驾
public ListsBean[]newArray(整数大小){
返回新的ListsBean[size];
}
};
}
您可以使UserDailyListBean实现可打包,并执行如下操作
public class ListsBean implements Parcelable {
private UserDailyListBean UserDailyList;
private List<FoodsBean> foods;
public ListsBean() {}
public static class UserDailyListBean implements Parcelable {
private String id;
private String diet_visit_id;
public UserDailyListBean() {}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(this.id);
dest.writeString(this.diet_visit_id);
}
protected UserDailyListBean(Parcel in) {
this.id = in.readString();
this.diet_visit_id = in.readString();
}
public static final Creator<UserDailyListBean> CREATOR = new Creator<UserDailyListBean>() {
@Override
public UserDailyListBean createFromParcel(Parcel source) {
return new UserDailyListBean(source);
}
@Override
public UserDailyListBean[] newArray(int size) {
return new UserDailyListBean[size];
}
};
}
public static class FoodsBean {
private String id;
private String meal;
private String food;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeParcelable(this.UserDailyList, flags);
dest.writeList(this.foods);
}
protected ListsBean(Parcel in) {
this.UserDailyList = in.readParcelable(UserDailyListBean.class.getClassLoader());
this.foods = new ArrayList<FoodsBean>();
in.readList(this.foods, FoodsBean.class.getClassLoader());
}
public static final Creator<ListsBean> CREATOR = new Creator<ListsBean>() {
@Override
public ListsBean createFromParcel(Parcel source) {
return new ListsBean(source);
}
@Override
public ListsBean[] newArray(int size) {
return new ListsBean[size];
}
};
}
公共类ListsBean实现了可包裹{
私有UserDailyListBean UserDailyList;
私人清单食品;
公共列表bean(){}
公共静态类UserDailyListBean实现Parcelable{
私有字符串id;
私人字符串diet\u visit\u id;
公共用户DailyListBean(){}
@凌驾
公共int描述内容(){
返回0;
}
@凌驾
公共无效写入包裹(包裹目的地,内部标志){
dest.writeString(此.id);
目的地记录(本次节食就诊id);
}
受保护的UserDailyListBean(包中){
this.id=in.readString();
this.diet_visit_id=in.readString();
}
公共静态最终创建者=新创建者(){
@凌驾
公共用户DailyListBean createFromParcel(地块源){
返回新的UserDailyListBean(源);
}
@凌驾
public UserDailyListBean[]newArray(整数大小){
返回新的UserDailyListBean[size];
}
};
}
公共静态类FoodsBean{
私有字符串id;
私人串餐;
私人串食;
}
@凌驾
公共int描述内容(){
返回0;
}
@凌驾
公共无效写入包裹(包裹目的地,内部标志){
dest.writeParcelable(this.UserDailyList,标志);
目的书面列表(本文件为食品);
}
受保护的ListsBean(包裹中){
this.UserDailyList=in.readParcelable(UserDailyListBean.class.getClassLoader());
this.foods=new ArrayList();
in.readList(this.foods,FoodsBean.class.getClassLoader());
}
公共静态最终创建者=新创建者(){
@凌驾
公共列表Bean createFromParcel(地块源){
返回新的ListsBean(源);
}
@凌驾
public ListsBean[]newArray(整数大小){
返回新的ListsBean[size];
}
};
}
搜索一些教程网站后我的问题由解决搜索一些教程网站后我的问题由解决使用Android Studio插件。在对象类类型变量为的对象中使用可分区时,必须实现可分区。
这个插件对我来说非常有用和简单使用Android Studio插件。在对象类类型变量为的对象中使用可分区时,必须实现可分区。
这个插件对我来说非常有用和简单