[Android]页面间传递model列表

要实现 Parcelable 并传递 NNBBUUModel 列表,可以按照以下步骤进行:

模型类实现 Parcelable

Kotlin 复制代码
import android.os.Parcel
import android.os.Parcelable
import com.google.gson.annotations.SerializedName

open class NNBBUUModel() : Parcelable {
    @SerializedName("Tid")
    var tid: Int? = null

    @SerializedName("Name")
    var name: String? = null

    constructor(parcel: Parcel) : this() {
        tid = parcel.readValue(Int::class.java.classLoader) as? Int
        name = parcel.readString()
    }

    override fun writeToParcel(parcel: Parcel, flags: Int) {
        parcel.writeValue(tid)
        parcel.writeString(name)
    }

    override fun describeContents(): Int = 0

    companion object CREATOR : Parcelable.Creator<NNBBUUModel> {
        override fun createFromParcel(parcel: Parcel): NNBBUUModel {
            return NNBBUUModel(parcel)
        }

        override fun newArray(size: Int): Array<NNBBUUModel?> {
            return arrayOfNulls(size)
        }
    }
}

传递列表

在第一个页面,使用 Intent 传递数据:

Kotlin 复制代码
val toPayList: ArrayList<NNBBUUModel> = arrayListOf(
    NNBBUUModel().apply { tid = 1; name = "Item1" },
    NNBBUUModel().apply { tid = 2; name = "Item2" }
)

val intent = Intent(this, SecondActivity::class.java)
intent.putParcelableArrayListExtra("KEY_SELECTED", toPayList)
startActivity(intent)

接收列表

在第二个页面,接收数据:

Kotlin 复制代码
val receivedList: ArrayList<NNBBUUModel>? = intent.getParcelableArrayListExtra("KEY_SELECTED")

这样就可以通过 Parcelable 传递 NNBBUUModel 列表到另一个页面。

相关推荐
执明wa14 小时前
LayoutInflater详解: XML是如何变成View的?
android·xml·开发语言·android studio
404_coder14 小时前
源码视角下的 Android 开机流程:从 Zygote、SystemServer 到 Launcher
android
二流小码农14 小时前
鸿蒙开发:以登录案例了解代码架构MVVM
android·ios·harmonyos
用户693717500138415 小时前
从代码生产者到 AI 协作者:软件工程师的角色重构
android·前端·后端
GitLqr15 小时前
别在 Flutter 的 main() 里乱锁屏幕方向,小心 iPad 分屏功能被你搞没了
android·flutter·ios
sg_knight15 小时前
MySQL 存储过程详解:从入门到实战
android·数据库·mysql·database·dba·关系型数据库·db
爱笑鱼15 小时前
Binder(四):ioctl(BINDER_WRITE_READ) 之后,事务怎样到达目标进程?
android
AFinalStone16 小时前
Android 7系统休眠唤醒(二)开机全链路—BootROM到Launcher
android·电源管理·休眠唤醒
Mr YiRan16 小时前
Android NDK开发之统计到未被回收的图片
android