Android: Как реализовать Parcelable для моих объектов?

У меня есть этот класс ConstantData, который содержит мои индексы JSON, мне нужно передать их между действиями с дополнительными функциями. Но до этого я должен сначала реализовать Parcelable для объектов этого класса.

Мой вопрос: как мне объявить объект внутри моего класса здесь и поместить каждый объект внутри переменной?

Я новичок, и сейчас я совершенно незнакома. Спасибо. Не стесняйтесь модифицировать мой код ниже.

ConstantData.java

public class ConstantData{ public static String project_title = "project title"; public static String organization_title = "organization title"; public static String keyword = "keyword"; public static String short_code = "short code"; public static String project_description = "description"; public static String smallImageUrl = "smallImageUrl"; public static String bigImageUrl = "bigImageUrl"; public static String price= "price"; public static String country= "country"; public static ArrayList<Project> projectsList = new ArrayList<Project>(); public int describeContents() { return 0; } public void writeToParcel(Parcel out, int flags) { out.writeString(project_title); out.writeString(organization_title); out.writeString(keyword); out.writeString(short_code); out.writeString(project_description); out.writeString(smallImageUrl); out.writeString(bigImageUrl); out.writeString(price); out.writeString(country); } public static final Parcelable.Creator<ConstantData> CREATOR = new Parcelable.Creator<ConstantData>() { public ConstantData createFromParcel(Parcel in) { return new ConstantData(in); } public ConstantData[] newArray(int size) { return new ConstantData[size]; } }; private ConstantData(Parcel in) { project_title = in.readString(); organization_title = in.readString(); keyword = in.readString(); short_code = in.readString(); project_description = in.readString(); smallImageUrl = in.readString(); bigImageUrl = in.readString(); price = in.readString(); country = in.readString(); } } 

В случае, если мой вопрос недостаточно ясен, вы можете найти этот вопрос: Как отправить объект из одной активности Android в другой с помощью намерений?

Там он написал myParcelableObject , я просто не знаю, как сделать решающий объект.

EDIT Project.java

 public class Project { public String project_title; public String organization_title; public String keyword; public String short_code; public String project_description; public String smallImageUrl; public String bigImageUrl; public String price; public String country; } 

Вам необходимо реализовать интерфейс Parcelable

 public class ConstantData implements Parcelable { public void writeToParcel(Parcel out, int flags) { out.writeString(project_title); .... out.writeString(country); out.writeList(projectsList); // <<-- } private ConstantData(Parcel in) { project_title = in.readString(); .... country = in.readString(); projectsList = in.readList(); 

Я думаю, что для написания projectsList для работы, класс Project также должен реализовать Parcelable .

См. Например, этот класс для примера.

Intereting Posts