从 API 级别 33 开始getSerializable(String)
Bundle 类的方法已弃用。文档建议使用getSerializable(String, Class)
反而。但该功能仅适用于 API 级别 33。
我当前的代码:
val model = args.getSerializable("key") as? Model
现在应该是这样吗?
val model = args.customGetSerializable<Model>("key")
@Suppress("DEPRECATION")
inline fun <reified T : Serializable> Bundle.customGetSerializable(key: String): T? {
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
getSerializable(key, T::class.java)
} else {
getSerializable(key) as? T
}
}
现在应该是这样吗?
Yes.
理想情况下,谷歌会添加一些东西BundleCompat
对于这些变化,也许他们现在会因为 Android 13 开始向用户发货。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)