嗨,我传递一个字符串到一个bundle中的一个片段,它可以是null,但我不确定当我从bundle参数中读取时如何接受null值
companion object {
private const val KEY_CONTACT_P_NUM = "contact_p_num"
fun newInstance(pNum: String?): GITFragment {
return GetInTouchResponseFragment().apply {
arguments = bundleOf(KEY_CONTACT_P_NUM to phoneNumber)
}
}
}
val pNum = arguments?.getString(KEY_CONTACT_P_NUM) as String
当我从参数中读取KEY_CONTACT_P_NUM时,我得到错误Fatal Exception: java.lang.NullPointerException null cannot be cast to non-null type kotlin.String
当我从参数中阅读时,如何接受空值
谢谢R
2条答案
按热度按时间wpx232ag1#
您应该删除最后一行中的
as String
部分。getString()方法返回一个可为空的字符串(
String?
)。但是as String
试图将其转换为非空字符串,这导致了异常。okxuctiv2#
除了@dev.bmax之外,要处理参数,您可以使用以下方法: