【发布时间】:2020-10-19 22:18:16
【问题描述】:
我想将一个对象的 ArrayList 从一个 Activity 传递给 Activity。
这里是示例代码:
{
ArrayList<object> list=new ArrayList<>();
Object value[]=new Object[m.size()];
int n=0;
value[]=new Object[n];
value[n]=data.getName("name");
value[n]=data.getLocation("location");
list.add(value[n]);
n++; //Since there are "n" number of object
}
//here the value a which is ArrayList Object
// which I want to pass it from here to another activity.
那么现在我将如何将对象从这里传递给另一个活动。 但是,我可以使用 Gson 获得价值。 通过将值转换为 json 并将其作为字符串传递给 SharedPreference 并从另一个活动中检索,然后使用 Type 从 Json 转换回来以支持其原始形式。
我想知道是否可以使用 Parceable 传递值。因为我在使用时得到了 null 值。
这是我试图使我的 Object 变量 Parceable 的代码:
public class ProductList implements Parcelable {
private String NAME;
private String LOCATION;
public ProductList() {
}
protected ProductList(Parcel in) {
LOCATION= in.readString();
NAME= in.readString();
}
public static final Creator<ProductList> CREATOR = new Creator<ProductList>() {
@Override
public ProductList createFromParcel(Parcel in) {
return new ProductList(in);
}
@Override
public ProductList[] newArray(int size) {
return new ProductList[size];
}
};
public String getNAME() {
return NAME;
}
public void setNAME(String NAME) {
this.NAME= NAME;
}
public String getLOCATION() {
return LOCATION;
}
public void setITEM_IMAGE(String LOCATION) {
this.LOCATION= LOCATION;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(NAME);
dest.writeString(LOCATION);
}
}
【问题讨论】:
-
你可以通过序列化对象来传递。
标签: java android arraylist serialization parcelable