使用Android中的Bundle将ArrayList类对象传递给另一个片段

时间:2017-09-03 03:32:29

标签: java android android-fragments arraylist bundle

我需要使用Bundle将类对象的ArrayList传递给另一个片段。

我从这个post.

尝试了这样的事情
List< SubCateogory > subCatList = allLists.getResult().getCategory().get(position).getSubCategories();
Bundle bundle = new Bundle();
bundle.putParcelableArray(ApplicationVariables.SUB_CAT_LISTS, subCatList);

显示以下错误。 Wrong 2nd argument type. Found: 'java.util.List<com.healthcamp.healthapp.models.HomeCategory.SubCateogory>', required: 'android.os.Parcelable[]'

我的类别,SubCategory类实现了Parceable以及parceable所需的方法。

Result.java

public class Results implements Parcelable {

@SerializedName("category")
@Expose
private List<Category> category = null;

public List<Category> getCategory() {
    return category;
}

public void setCategory(List<Category> category) {
    this.category = category;
}

@Override
public int describeContents() {
    return 0;
}

@Override
public void writeToParcel(Parcel dest, int flags) {

}
}

Category.java

public class Category implements Parcelable { ...

SubCategory.java

public class SubCateogory implements Parcelable {...

请建议。谢谢。

1 个答案:

答案 0 :(得分:3)

您可以使用putParcelableArrayList代替putParcelableArray

此外,您需要将您的实例定义为ArrayList,因此请将其更改为  ArrayList< SubCateogory > subCatList