[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 列表到另一个页面。

相关推荐
恋猫de小郭1 小时前
Flutter 可以更直接地调用原生 API 了,Dart Direct Native Interop
android·前端·flutter
2501_916008891 小时前
iPhone 设备信息查看,用 KeyMob 看型号、序列号、电池健康和 UDID
android·ios·小程序·https·uni-app·iphone·webview
好的佩奇12 小时前
蓝牙之通信架构
android·flutter·蓝牙
FlightYe12 小时前
视界原理之3D视频(四):裸眼、眼镜和头显
android·linux·c++·3d·ffmpeg·音视频
诸神黄昏EX13 小时前
Android fw BatteryService
android
alexhilton13 小时前
提升 Android Compose 页面的流畅度
android·kotlin·android jetpack
撩得Android一次心动15 小时前
Android中Gradle网络下载超时、更改存放位置(解决方案)
android·gradle
HQL_seven16 小时前
【Activity】Android Activity详解
android
AI2中文网16 小时前
安卓 15/16 手机软键盘遮挡输入框、布局顶不上去?已解决:重新编译即可
android·智能手机
字节暗面16 小时前
Android APP 加固横评记录:爱加密、梆梆、网易易盾与腾讯 ACE
android·逆向工程·加固