我有这个包含我的JSON索引的ConstantData类,我需要在带有额外内容的活动之间传递它们.但在此之前,我必须首先将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();
}
}
Run Code Online (Sandbox Code Playgroud)
如果我的问题不够明确,你可以查看这个问题:如何使用Intents将对象从一个Android Activity发送到另一个?
在那里他写道myParcelableObject,我只是不知道如何制作可分割的对象.
编辑 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;
}
Run Code Online (Sandbox Code Playgroud)
Hei*_*upp 17
您需要实现该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();
Run Code Online (Sandbox Code Playgroud)
我认为对于写作projectsList工作,Project课程也需要实施Parcelable.
例如,参见这个类.
| 归档时间: |
|
| 查看次数: |
25801 次 |
| 最近记录: |