gpt4 book ai didi

android - 无法将不可为空的 LiveData 值设置为 null

转载 作者:行者123 更新时间:2023-12-03 13:26:08 28 4
gpt4 key购买 nike

以下代码返回标题中的错误,这没有意义

private val _error = MutableLiveData<String?>()
val error: LiveData<String?> get() = _error


_error.postValue(null) //Error Cannot set non-nullable LiveData value to null [NullSafeMutableLiveData]
参数 String_error 显然可以为空,我做错了吗?

最佳答案

这似乎与已针对 androidx.lifecycle 报告的错误有关。 2.3.0 的预发布https://issuetracker.google.com/issues/169249668 .
我发现的解决方法:

  • 关闭或降低 NullSafeMutableLiveData 的严重性在
  • build.gradle
    android {
    ...
    lintOptions {
    disable 'NullSafeMutableLiveData'
    }
    }
    lint.xml在根目录
    <?xml version="1.0" encoding="UTF-8"?>
    <lint>
    <issue id="NullSafeMutableLiveData" severity="warning" />
    </lint>
  • MutableLiveData 工作通过支持属性进行封装舞蹈(这真的伤害了我的眼睛)。
  • class ExampleViewModel : ViewModel() {

    private val _data1 = MutableLiveData<Int>()
    val data1: LiveData<Int> = _data1

    private val _data2 = MutableLiveData<Int?>()
    val data2: LiveData<Int?> = _data2

    fun funct() {
    _data1.value = 1
    _data2.value = null
    }
    }

    关于android - 无法将不可为空的 LiveData 值设置为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65322892/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com