gpt4 book ai didi

android - 如何在 Activity 之间传递书的数组列表

转载 作者:行者123 更新时间:2023-12-02 13:32:25 25 4
gpt4 key购买 nike

我有一个Book类型的arraylist。如何将数组列表传递给另一个 Activity 并从另一个 Activity 的列表中读取?到目前为止,这就是我所拥有的。

   txtViewAll.setOnClickListener {
Intent(context, BookActivity::class.java).apply {
putExtra("list", list[layoutPosition].list)
context.startActivity(this)
}
}

// 读书
val bookList = intent.getStringArrayListExtra("list") as ArrayList<Book>
for (book in bookList) {
list.add(Book(book.id, book.title, book.image, book.subtitle, null, null, 0, 0));
}

这是每本书
data class Book(val id: String, val title: String, var image: String, var subtitle: String, var author: String?, var desc: String?, var uploadDate: Long,  var starCount: Long)

最佳答案

您可以使用 putParcelableArrayListExtra getParcelableArrayListExtra

设置这种方式

Intent(context, BookActivity::class.java).apply {
putParcelableArrayListExtra("list", list[layoutPosition].list)
context.startActivity(this)

用这种方式
val bookList = this.intent.getParcelableArrayListExtra<Parcelable>("list") as ArrayList<Book>

您应该使用 可打包
  • 在模型/数据类
  • 的顶部使用 @Parcelize 批注


    @Parcelize
    data class Book

    Parcelable is an Android only interface which is used to serialize
    class so its properties can be transferred from one activity to
    another.

    关于android - 如何在 Activity 之间传递书的数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60611687/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com