Запрос на модификацию очереди не возвращает liveData в методе onResponse - PullRequest
1 голос
/ 15 марта 2020

Когда я использую запрос на модификацию, чтобы получить значение из веб-API, тогда назначьте его liveData. Но он всегда возвращает значение NULL, прежде чем установить значение responseLiveData в onResponse.

fun fetchContents(): LiveData<String> {
    val responseLiveData: MutableLiveData<String> = MutableLiveData()
    val flickrRequest: Call<String> = flickrApi.fetchContents()

    flickrRequest.enqueue(object : Callback<String> {

        override fun onFailure(call: Call<String>, t: Throwable) {
            Log.e(TAG, "Failed to fetch photos", t)
        }

        override fun onResponse(
            call: Call<String>,
            response: Response<String>
        ) {
            Log.d(TAG, "Response received")
            responseLiveData.value = response.body()
        }
    })

    return responseLiveData
}

// then assign to the liveData in viewModel
val flickrLiveData: LiveData<String> = FlickrFetchr().fetchContents()

Этот код из руководства по ранчо для больших ботаников, я считаю, что он не может работать изOFBox, поэтому я выдаю эту ошибку.

...