дооснащение - kotlin - параметр, указанный как ненулевой, является нулем - PullRequest
0 голосов
/ 20 января 2020

Я использую в своем приложении 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 и возвращает ошибку

my viewmodel

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

Я пытался очистить, восстановить, но это ничего не меняет

Не могли бы вы помочь мне? что не так с моим кодом?

Ответы [ 2 ]

0 голосов
/ 20 января 2020

Вы пытались удалить @Json аннотацию в вашей val id: String декларации?

0 голосов
/ 20 января 2020

Вы должны попробовать добавить? к вашим параметрам модели. Не уверен, если в вашем случае это строка ?. Это гарантирует, что вы можете иметь нулевые значения в вашей строке

val id: String?

Пожалуйста, проверьте еще раз, какое значение отсутствует или равно нулю в вашем случае

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...