Reputation: 17380
In one of my class on project I'm using Parcelable
and I'm trying to read and write class object, I can't find any solution about how can I do that, for example:
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;
...
}
}
on this class I have one field such as UserDailyListBean
and its not List
like wiht FoodsBean
, how can read and write that?
Upvotes: 0
Views: 837
Reputation: 774
Use ParceableGenerator plugin for Android Studio. When you use Parceable in object that objects Class Type variables are must implements Parceable. This plugin is very usefull and simple for me
Upvotes: 1
Reputation: 17380
After search some tutorials web sites my problem resolved by this link
Upvotes: 0
Reputation: 1080
You can make the UserDailyListBean implements Parcelable and do something like this
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];
}
};
}
Upvotes: 1