Android 改型-kotlin-指定为非null的参数为null
我在我的应用程序中使用mvvm、kotlin、改装和courtin。我已经做了几次请求,所有请求都可以正常工作,但对于这一次,我得到了一个错误“指定为非null的参数为null:method kotlin.jvm.internal.Intrinsics.checkParametersNotnull,Parameter list” 这是我的jsonAndroid 改型-kotlin-指定为非null的参数为null,android,kotlin,retrofit,kotlin-coroutines,android-viewmodel,Android,Kotlin,Retrofit,Kotlin Coroutines,Android Viewmodel,我在我的应用程序中使用mvvm、kotlin、改装和courtin。我已经做了几次请求,所有请求都可以正常工作,但对于这一次,我得到了一个错误“指定为非null的参数为null:method kotlin.jvm.internal.Intrinsics.checkParametersNotnull,Parameter list” 这是我的json { "roomslist": [ { "id": "1" } ] } 这些是我的模型 data class RoomsListModel(
{
"roomslist": [
{
"id": "1"
}
]
}
这些是我的模型
data class RoomsListModel(
@Json(name = "roomslist")
val roomsList: List<Rooms>
)
data class Rooms(
@Json(name = "id")
val id: String
}
我用的是moshi
我尝试过清理、重建,但没有任何不同
你能帮我吗?
我的代码出了什么问题 您应该尝试添加吗?添加到您的模型参数。不确定在你的情况下是不是字符串?。它将确保字符串上可以有空值
val id: String?
请仔细检查,您的案例中缺少或为空的任何值您是否尝试删除
val id:String
声明中的@Json
注释?您可以共享stacktrace吗?应该与val roomsList:List相关?
您确定添加了Moshi转换器吗?
fun getRooms(
amlakId: String
): MutableLiveData<RoomsListModel> {
scope.launch {
val request = api.getPlaceRooms2(amlakId)
withContext(Dispatchers.Main) {
try {
val response = request.await()
roomsLiveData.value = response
} catch (e: HttpException) {
Log.v("this", e.message);
} catch (e: Throwable) {
Log.v("this", e.message);
}
}
}
return roomsLiveData;
}
class PlacesDetailsViewModel : ViewModel() {
private val repository = PlaceDetailsRepository()
fun getRooms(amlakId: String):MutableLiveData<RoomsListModel> {
return repository.getRooms(amlakId)
}
}
viewModel.getRooms(amlakId).observe(this, Observer {
vf.frm_loading.visibility = View.GONE
it?.let {
adapter.updateList(it?.roomsList)
setNoItem(false)
}
})
val id: String?