提问人:Naresh NK 提问时间:7/30/2021 最后编辑:Naresh NK 更新时间:7/30/2021 访问量:412
kotlin non null 属性 getter 抛出 NullPointerException
kotlin non null property getter throwing NullPointerException
问:
为什么这个领域在这里,并导致一个?null
NullPointerException
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}"
/>
答: 暂无答案
评论
fun Something.doIt() { ....nameInitials.get() ... }
this
nameInitials
null
null