【发布时间】:2015-09-18 16:56:06
【问题描述】:
我想创建对象以从包裹响应中写入和读取:
{"optionType":["POWER"],"results":[{"type":"POWER","options":[{"value":"130.0 KW"}]},{"type":"POWER","options":[{"value":"130.0 KW"}]},{"type":"POWER","options":[{"value":"110.0 KW"}]},{"type":"POWER","options":[{"value":"130.0 KW"}]}]}
我创建了两个类:
import android.os.Parcel;
import android.os.Parcelable;
import java.util.ArrayList;
public class ResultsOptionsCarIdent implements Parcelable {
private String type;
private String[] options;
public ResultsOptionsCarIdent(String type, String[] options) {
this.type = type;
this.options = options;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String[] getOptions() {
return options;
}
public void setOptions(String[] options) {
this.options = options;
}
public static final Parcelable.Creator<ResultsOptionsCarIdent> CREATOR = new Parcelable.Creator<ResultsOptionsCarIdent>() {
public ResultsOptionsCarIdent createFromParcel(Parcel source) {
return new ResultsOptionsCarIdent(source);
}
public ResultsOptionsCarIdent[] newArray(int size) {
return new ResultsOptionsCarIdent[size];
}
};
private ResultsOptionsCarIdent(Parcel in) {
this.type = in.readString();
this.options = in.createStringArray();
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(type);
dest.writeStringArray(options);
}
}
我开始创建第二个,但我坚持如何为 ResultsOptionsCarIdent 提供包裹列表:
import android.os.Parcel;
import android.os.Parcelable;
import java.util.ArrayList;
public class OptionTypes implements Parcelable {
private String[] optionTypes;
private ResultsOptionsCarIdent[] results;
public OptionTypes(String[] optionTypes, ResultsOptionsCarIdent[] results) {
this.optionTypes = optionTypes;
this.results = results;
}
public String[] getOptionTypes() {
return optionTypes;
}
public void setOptionTypes(String[] optionTypes) {
this.optionTypes = optionTypes;
}
public ResultsOptionsCarIdent[] getResults() {
return results;
}
public void setResults(ResultsOptionsCarIdent[] results) {
this.results = results;
}
public static final Parcelable.Creator<OptionTypes> CREATOR = new Parcelable.Creator<OptionTypes>() {
public OptionTypes createFromParcel(Parcel source) {
return new OptionTypes(source);
}
public OptionTypes[] newArray(int size) {
return new OptionTypes[size];
}
};
private OptionTypes(Parcel in) {
this.optionTypes = in.createStringArray();
this.results = //in.createStringArray();
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeStringArray(type);
dest.writeStringArray(results);
}
}
你能帮我写和读dest.writeStringArray(results);和this.results = //in.createStringArray();
【问题讨论】:
-
[请查看以下链接对您有帮助] [1]:stackoverflow.com/questions/22446359/…
标签: android