【发布时间】:2017-01-25 14:03:52
【问题描述】:
我有一个ArrayList 的CustomInput 对象和DataWrapper 类,其中包含ArrayList 的getter 和setter。我想将DataWrapper 从非活动类传递到活动类。我已经尝试实现 Serializable,但我得到 Parcelable 遇到 ioexception 写入可序列化对象 原因是 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;
}
}
非活动类
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();
【问题讨论】:
-
你好为什么在Serializable中创建数组列表。它会自动以数组的形式工作。
-
如果你想使用 Serializable,那么我将举例说明它是如何工作的
-
我只想将ArrayList传递给Activity,不必使用DataWrapper。
-
我已经添加了我的答案可以尝试一次
标签: android android-intent android-activity arraylist serializable