Kotlin推断类型不匹配自定义类数据类型出错



基本上我是科特林的新手,我得到了"推断类型不匹配错误";当我更新这一行的版本代码和版本名称时。

private lateinit var selectedPlan: SubscriptionItem

selectedPlan = params!!.getParcelable("selectedPlan")

selectedPlan = params!!.getParcelable("selectedPlan")!!
when (selectedPlan.getPlanType()) {
PlanType.STANDARD -> inflater.inflate(
R.layout.layout_package_standard,
container,
false
)
PlanType.PREMIUM -> inflater.inflate(
R.layout.layout_package_premium,
container,
false
)
PlanType.BASIC -> inflater.inflate(R.layout.layout_package_basic, container, false)
else -> {
Toast.makeText(context, "Unknown plan type", Toast.LENGTH_LONG).show()
inflater.inflate(R.layout.layout_package_basic, container, false)
}
}
} else {
inflater.inflate(R.layout.layout_package_basic, container, false)
}```

错误是您的变量不可为null,并且"getParcelable";返回一个可为null的对象

这应该有效:

selectedPlan = params!!.getParcelable("selectedPlan")!!

但如果添加默认值会更安全

selectedPlan = params?.getParcelable("selectedPlan") ?: PlanType.BASIC

最新更新