【发布时间】:2020-05-06 02:41:33
【问题描述】:
我在我的应用程序中使用 mvvm、kotlin、retrofit 和 courtin。我已经完成了几个请求,所有请求都可以正常工作,但是使用这个,我收到此错误“指定为非空的参数为空:方法 kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull,参数列表”
这是我的 json
{
"roomslist": [
{
"id": "1"
}
]
}
这些是我的模型
data class RoomsListModel(
@Json(name = "roomslist")
val roomsList: List<Rooms>
)
data class Rooms(
@Json(name = "id")
val id: String
}
这是我的 api 接口:
@FormUrlEncoded
@POST("getPlaceRooms.php")
fun getPlaceRooms2(@Field("amlakid")id:String):Deferred<RoomsListModel>
这是我的仓库:
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;
}
应用运行时进入e: Throwable并返回错误
我的视图模型
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)
}
})
我正在使用moshi
我试过清理,重建,但没有任何不同
你能帮帮我吗? 我的代码出了什么问题?
【问题讨论】:
-
你能分享你的堆栈跟踪吗?
标签: android kotlin retrofit kotlin-coroutines android-viewmodel