Android getParcelableExtra returns 空
Android getParcelableExtra returns null
我目前正在尝试将一些数据从我的片段传递到 activity。我正在传递一些参数,还有一个模型 class 的数组列表。我已经确保传递之前的 arraylist 不为空,因为我能够在日志中打印出该值。但是它在被调用的 activity.
中变为空
这是模型 class:
public class Product implements Parcelable {
String code, id, status, is_expired;
public Product() {}
public Product(String code, String id, String status, String is_expired) {
this.code = code;
this.id = id;
this.status = status;
this.is_expired = is_expired;
}
public Product(Parcel in) {
code = in.readString();
id = in.readString();
status = in.readString();
is_expired = in.readString();
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getIs_expired() {
return is_expired;
}
public void setIs_expired(String is_expired) {
this.is_expired = is_expired;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(code);
dest.writeString(id);
dest.writeString(status);
dest.writeString(is_expired);
}
public static final Parcelable.Creator<Product> CREATOR = new Parcelable.Creator<Product>() {
public Product createFromParcel(Parcel in) {
return new Product(in);
}
public Product[] newArray(int size) {
return new Product[size];
}
};
}
来电者是:
intent.putExtra("product", productList);
检索数据的方法如下:
ArrayList<Product> productList = getIntent().getParcelableExtra("product");
我做错了什么?
试试这个。
intent.putParcelableArrayListExtra("product", productList);
下一个 Activity .
ArrayList<Product> productList = getIntent().getParcelableArrayListExtra("product");
我目前正在尝试将一些数据从我的片段传递到 activity。我正在传递一些参数,还有一个模型 class 的数组列表。我已经确保传递之前的 arraylist 不为空,因为我能够在日志中打印出该值。但是它在被调用的 activity.
中变为空这是模型 class:
public class Product implements Parcelable {
String code, id, status, is_expired;
public Product() {}
public Product(String code, String id, String status, String is_expired) {
this.code = code;
this.id = id;
this.status = status;
this.is_expired = is_expired;
}
public Product(Parcel in) {
code = in.readString();
id = in.readString();
status = in.readString();
is_expired = in.readString();
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getIs_expired() {
return is_expired;
}
public void setIs_expired(String is_expired) {
this.is_expired = is_expired;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(code);
dest.writeString(id);
dest.writeString(status);
dest.writeString(is_expired);
}
public static final Parcelable.Creator<Product> CREATOR = new Parcelable.Creator<Product>() {
public Product createFromParcel(Parcel in) {
return new Product(in);
}
public Product[] newArray(int size) {
return new Product[size];
}
};
}
来电者是:
intent.putExtra("product", productList);
检索数据的方法如下:
ArrayList<Product> productList = getIntent().getParcelableExtra("product");
我做错了什么?
试试这个。
intent.putParcelableArrayListExtra("product", productList);
下一个 Activity .
ArrayList<Product> productList = getIntent().getParcelableArrayListExtra("product");