kotlin non null 属性 getter 抛出 NullPointerException

kotlin non null property getter throwing NullPointerException

提问人:Naresh NK 提问时间:7/30/2021 最后编辑:Naresh NK 更新时间:7/30/2021 访问量:412

问:

为什么这个领域在这里,并导致一个?nullNullPointerException

java.lang.NullPointerException: Parameter specified as non-null is null:
method kotlin.jvm.internal.Intrinsics.checkNotNullParameter, parameter $this$isBlank

这是我的模型类:

data class ModelChatEntry(
    val id: String,
    val name: String?
): BaseModel, Parcelable {

    var nameInitials: String? = ""
        get() {
            if (field.isNullOrBlank()) {
                field = name?.let { nameStr->
                    val length = nameStr.length
                    val splits = nameStr.split(" ")
                    when {
                        length > 0 && splits.size > 1 -> "${splits[0].first()} ${splits[1].first()}"
                        length > 0 -> nameStr.first().toString()
                        else -> "-"
                    }
                }?:"-"
            }
            return field
        }

布局文件代码是这样的:

  <data>
        <variable
            name="bModel"
            type="com.example.myapp.models.ModelChatEntry" />
    </data>

..........

<com.google.android.material.textview.MaterialTextView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                style="@style/AppTheme.TextLight"
                android:id="@+id/tvCompanyPlaceholder"
                android:textColor="@color/black"
                android:textSize="16sp"
                android:gravity="center"
                tools:background="@color/quantum_lightgreen"
                app:textAllCaps="true"
                tools:text="NN"
                android:text="@{bModel.nameInitials}"
                />
Android 字符串 kotlin nullpointerexception

评论

0赞 TreffnonX 7/30/2021
也许物体本身不见了?您是否在某处使用扩展方法:?我认为-reference可能是空的。或者你以某种方式设置了之后......这是库代码吗?也许一个 String 从 Java 端进入了你的对象。fun Something.doIt() { ....nameInitials.get() ... }thisnameInitialsnullnull
0赞 mightyWOZ 7/30/2021
您究竟在哪里收到此错误?
0赞 Naresh NK 7/30/2021
我正在从同一个数据类对象本身调用dataBinding中的nameInitials变量
0赞 mightyWOZ 7/30/2021
请出示验证码
0赞 Naresh NK 7/30/2021
@mightyWOZ更新了有问题的代码

答: 暂无答案