如何处理从bundle接收空值

问题描述 投票:0回答:1

嗨,我正在将字符串传递给包中的片段,它可以为空,但我不确定当我从包参数中读取时如何接受空值

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

android kotlin android-fragments android-bundle
1个回答
0
投票

您应该删除最后一行中的

as String
部分。

getString() 方法返回一个可为空的字符串 (

String?
)。但是
as String
尝试将其转换为非空字符串,这会导致异常。

© www.soinside.com 2019 - 2024. All rights reserved.