java - 如何通过 Intents 传递 List<CustomObject>

标签 java android list android-intent arraylist

我有自定义对象的 ArrayList

ArrayList<AvailableCountry>
        listAvailableCountries = new ArrayList();

我有两个 AvailableCountry 对象

AvailableCountry obj1=new AvailableCountry();
AvailableCountry obj2=new AvailableCountry();

然后我已经添加到arraylist

listAvailableCountries.add(obj1);
listAvailableCountries.add(obj2);

这是自定义对象类

public class AvailableCountry {

@SerializedName("Disabled")
@Expose
private Boolean disabled;
@SerializedName("Selected")
@Expose
private Boolean selected;
@SerializedName("Text")
@Expose
private String text;
@SerializedName("Value")
@Expose
private String value;

public Boolean getDisabled() {
    return disabled;
}

public void setDisabled(Boolean disabled) {
    this.disabled = disabled;
}

public Boolean getSelected() {
    return selected;
}

public void setSelected(Boolean selected) {
    this.selected = selected;
}

public String getText() {
    return text;
}

public void setText(String text) {
    this.text = text;
}

public String getValue() {
    return value;
}

public void setValue(String value) {
    this.value = value;
}

}

现在我想将此数组列表从 Activity A 传递到 Activity B。 然后我想在 Activity B 中接收。 我怎样才能完成这个任务。

最佳答案

1) 首先为您的自定义对象类实现可序列化接口(interface)

public class AvailableCountry implements Serializable {

@SerializedName("Disabled")
@Expose
private Boolean disabled;
@SerializedName("Selected")
@Expose
private Boolean selected;
@SerializedName("Text")
@Expose
private String text;
@SerializedName("Value")
@Expose
private String value;

public Boolean getDisabled() {
    return disabled;
}

public void setDisabled(Boolean disabled) {
    this.disabled = disabled;
}

public Boolean getSelected() {
    return selected;
}

public void setSelected(Boolean selected) {
    this.selected = selected;
}

public String getText() {
    return text;
}

public void setText(String text) {
    this.text = text;
}

public String getValue() {
    return value;
}

public void setValue(String value) {
    this.value = value;
}

2) 将 arrayList 从 A 类发送到 B 类

Intent intent =new Intent(A.this,B.class);
intent.putExtra("listCountry", (Serializable) listAvailableCountries);
startActivity(intent)

3) 接收B类中的arraylist

ArrayList<AvailableCountry>listAvailableCountries = (ArrayList<AvailableCountry>) getIntent().getSerializableExtra("listCountry");

关于java - 如何通过 Intents 传递 List<CustomObject>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41999024/

相关文章:

java - lambda 表达式中的返回类型错误 : Cannot be converted to boolean

java - 为什么我的列表中有一个列表对象?

java - tomcat如何识别注解指定的servlet?

android - picasso :从磁盘加载缓存图像太慢

java - 转换 EEE MMM dd HH :mm:ss ZZZ yyyy to YYYY-MM-dd JAVA

安卓 : Stopping works Widget when user removes app from recent tasks list

c++ - 创建和管理 STL 列表的子列表

Python list.remove for 循环 "x not in list"

java - 如果您已经重定向标准输出,是否可以访问控制台?

java - 如何在 eclipse rcp 中显示作业进度?