繁体   English   中英

使用安全参数在片段之间传递 arraylist 的 object 抛出错误

Passing arraylist of object between fragments throwing error using safe args

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在开发一个应用程序,我需要将 ArrayList model object 传递给下一个片段,但它会引发错误。 我尝试了许多文件,但没有任何效果,请指导我为什么会发生这种情况。我正在通过 firebase 检索数据,并希望在我的 recyclerview 适配器上设置这个 ArrayList。 我怎样才能做到这一点?? 请指导我

来自片段 A 的代码

   ArrayList<RecyclerviewModel> mydatalist = new ArrayList<>();
                HomeFragmentDirections.ActionHomeToSearchDataFragment dr = HomeFragmentDirections.actionHomeToSearchDataFragment(mydatalist);
                Navigation.findNavController(view).navigate(dr);

来自片段 B 的代码(接收片段)

 ArrayList<RecyclerviewModel> mylist;
    if (getArguments()!=null)
    {

        SearchDataFragmentArgs args = SearchDataFragmentArgs.fromBundle(getArguments());
        mylist = args.getMylist();
        adapter = new SearchRecycleAdapter(mylist, getContext());
        binding.searchDataRecyclerview.setAdapter(adapter);
        
    }

MODEL CLASS

public class RecyclerviewModel extends ArrayList<RecyclerviewModel> 
implements Parcelable {

String name;
String email;
String desc;
String book;
List<String> images;
String uid;
String searching;


public RecyclerviewModel() {
}

public RecyclerviewModel(String name, String email, String desc, String book, List<String> images, String uid,String searching) {
    this.name = name;
    this.email = email;
    this.desc = desc;
    this.book = book;
    this.images= images;
    this.uid = uid;
    this.searching = searching;
}

protected RecyclerviewModel(Parcel in) {
    name = in.readString();
    email = in.readString();
    desc = in.readString();
    book = in.readString();
    images = in.createStringArrayList();
    uid = in.readString();
    searching = in.readString();
}

public static final Creator<RecyclerviewModel> CREATOR = new Creator<RecyclerviewModel>() {
    @Override
    public RecyclerviewModel createFromParcel(Parcel in) {
        return new RecyclerviewModel(in);
    }

    @Override
    public RecyclerviewModel[] newArray(int size) {
        return new RecyclerviewModel[size];
    }
};

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getEmail() {
    return email;
}

public void setEmail(String email) {
    this.email = email;
}

public String getDesc() {
    return desc;
}

public void setDesc(String desc) {
    this.desc = desc;
}

public String getBook() {
    return book;
}

public void setBook(String book) {
    this.book = book;
}

public List<String> getImages() {
    return images;
}

public void setImages(List<String> images) {
    this.images = images;
}


public String getUid() {
    return uid;
}

public void setUid(String uid) {
    this.uid = uid;
}


public String getSearching() {
    return searching;
}

public void setSearching(String searching) {
    this.searching = searching;
}

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

@Override
public void writeToParcel(Parcel parcel, int i) {
    parcel.writeString(name);
    parcel.writeString(email);
    parcel.writeString(desc);
    parcel.writeString(book);
    parcel.writeStringList(images);
    parcel.writeString(uid);
    parcel.writeString(searching);
}

}

它抛出的错误

error: incompatible types: ArrayList<RecyclerviewModel> cannot be converted to RecyclerviewModel
问题暂未有回复.您可以查看右边的相关问题.
1 为什么这个片段没有抛出错误?

我遇到了一些我无法解释为什么它不会在PHP中抛出错误的东西。 如果这对你们中的某些人来说非常明显,或者之前已经得到过回答,那就道歉了。 这不会引起任何问题,它只是一种观察和对理解的追求。 我想知道是否有人知道为什么会发生这种情况? 我只是好奇,因为它看起来根本不应该起作用。 我错过 ...

2 在片段之间传递arrayadapter和arraylist

我有一个包含两个片段的活动。 我想在两个片段之间传递数据(ArrayAdapter和ArrayList)。 片段1中的用户操作修改了这两种数据类型,然后需要将其传递到片段2。类似地,碎片2中的用户操作也修改了这两种数据类型,然后需要将它们传递回片段1。 能否请您以最优雅的方式进行指导? ...

4 使用Arraylist传递数据

我在列表视图中显示数据库中的数据时遇到问题。 下面是我的显示方法的代码。 显示 这是Arraylist 我发现的例外是: 04-07 16:48:23.759:E /检索错误(4134):java.lang.IndexOutOfBoundsException:无效的 ...

8 片段内的条件对象抛出错误

我有一个主要部分,它使用 th:if 与我在片段中使用的相同 obj,但片段基于该 obj 抛出错误。 下面, mainInfo 片段中的 nameInfo 抛出错误。 即使有空检查。 // main.html // 主信息.html ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM