将 ArrayList 从传递到 Activity

Pass ArrayList from to Activity

我有一个 ArrayListCustomInput 个对象和 DataWrapper class 以及 getter 和 setter 的 ArrayList .我想将 DataWrapper 从非 Activity class 传递到 Activity class。我已经尝试实现 Serializable,但我得到 Parcelable encountered ioexception writing serializable object cause by NotSerializableException.

DataWrapper.java

public class DataWrapper implements Serializable {
    private static final long serialVersionUID = 1L;
private ArrayList<CustomInput> customInputs;

public void setFields(ArrayList<CustomInput> data) {
    this.customInputs = data;
}

public ArrayList<CustomInput> getFields() {
    return this.customInputs;
}
}

非活动class

public void showActivity() {
    Intent intent = new Intent(request, ActivityKorak.class);
    intent.putExtra("title", title);
    DataWrapper dw = new DataWrapper();
    dw.setFields(fields);
    intent.putExtra("data", dw);

    request.startActivity(intent);
}

ActivityKorak.class->onCreate()

    Intent intent = getIntent();
    String title = intent.getStringExtra("title");
    DataWrapper dw = (DataWrapper) intent.getSerializableExtra("data");
    ArrayList<CustomInput> fields = dw.getFields();

不需要新建classDataWrapper.java。因为 ArrayList 是可序列化的。

非活动class

public void showActivity() {
    Intent intent = new Intent(request, ActivityKorak.class);
    intent.putExtra("title", title);
    intent.putExtra("data", fields);

    request.startActivity(intent);
}

ActivityKorak.class->onCreate()

    Intent intent = getIntent();
    String title = intent.getStringExtra("title");
    DataWrapper dw = (DataWrapper) intent.getSerializableExtra("data");
    ArrayList<CustomInput> fields = dw.getFields();

您好,请检查我们如何发送 arraylist in intent

ArrayList<HashMap<String, String>> aldata = new ArrayList<HashMap<String, String>>();

我假设这里的数据已经添加到你的数组列表中,请检查

发送数据并开始其他activity,

Intent intent = new Intent(this,AbcActivity.class);
intent.putExtra("aldata", aldata_TaxiLine);
startActivity(intent);

在您的下一个 activity、

中获取数据
ArrayList<HashMap<String, String>> aldata1;

并在你的 oncreate 中调用它

    aldata = (ArrayList<HashMap<String, String>>) getIntent()
            .getSerializableExtra("aldata");

希望对您有所帮助。