Android 使用Intent传递List数据问题

2019-09-16 11:14:30 浏览数 (4)

问题:

从页面A传递一个Bean对象给页面B,Bean对象里有一个List集合

Bean:

代码语言:txt复制
 public class Bean implements Serializable {
    private static final long serialVersionUID = 1L;
    private List<FilterTypeBean> filterTypeBeans;
    public List<FilterTypeBean> getFilterTypeBeans() {
        return filterTypeBeans;
    }
    public void setFilterTypeBeans(List<FilterTypeBean> filterTypeBeans) {
        this.filterTypeBeans = filterTypeBeans;
    }
}

过程中会报错:

java.lang.RuntimeException: Parcelable encountered IOException writing serializable object

查了很久发现原因,传递的这个List是在数据源中使用subList(0,5)处理过的,而处理时是好的。

解决:

代码语言:txt复制
ArrayList<FilterTypeBean> typeBeans = new ArrayList<>();
typeBeans.addAll(list);

使用一个新的List将subList之后的List重新加进去即可。

0 人点赞