JSON 인덱스를 보유하는 ConstantData 클래스가 있으므로 엑스트라와 함께 액티비티간에 전달해야합니다. 하지만 그 전에는 먼저이 클래스의 객체에 Parcelable을 구현해야합니다.Android : 내 개체에 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();
}
}
경우 내 질문은 당신이이 질문에 찾아 볼 수 충분히 명확하지 않습니다 : 저기 myParcelableObject
을 썼다 How to send an object from one Android Activity to another using Intents?
을, 난 그냥 방법을 모르는 parcelable 객체를 만든다.
편집 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;
}
내부 솔루션 : http://stackoverflow.com/questions/4049627/parcelable-and-inheritance-in-android –
감사합니다! 그래서 제 경우에는 '추상 추상 클래스는 파싱 가능'권리 만 필요합니다. 나는 'public class B extends A'가 필요하지 않습니다. 맞습니까? – hectichavana
언급되지 않은 한 가지 점은 JSON/XML 객체로 이미 데이터가 있고 이미 파서를 작성했다면 JSON 또는 XML 객체를 전달하는 것이 더 쉽습니다 (1-2 개 이상을 전달하지 않는 경우). 시간 –