Bundle.getBoolean Null对象引用

时间:2018-06-05 07:26:39

标签: android kotlin boolean

我有这段代码:

  override var shouldShowUpload: Boolean
    get() = arguments.getBoolean(IS_LANDING_UPLOAD_PAGE, false)
    set(value) {
        value.let { arguments?.putBoolean(IS_LANDING_UPLOAD_PAGE, it) }
    }

但是我收到了这个错误:

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.os.Bundle.getBoolean(java.lang.String, boolean)' on a null object reference

我不希望shouldShowUpload成为可以为空的布尔值。但是我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:2)

看起来arguments Bundle可以为null。检查它是否为null并返回您需要的内容。

get() = arguments?.getBoolean(IS_LANDING_UPLOAD_PAGE, false) ?: false