Модифицированный ответ не показывает - PullRequest
0 голосов
/ 26 августа 2018

Мой ответ Retrofit сначала не отображается, но только когда я выхожу из приложения и возвращаюсь к нему.Если я после перехода к другому занятию вернусь к занятию с данными, данные также исчезнут.У кого-нибудь из вас была эта проблема?

Вот моя функция

private fun makeRetrofit(){
    //Toast.makeText(applicationContext, "This is from makeRetrofit function start", Toast.LENGTH_LONG).show()
    val myretrofit = Retrofit.Builder()
            .baseUrl("https://noelvillaman.com/about/")
            .addConverterFactory(GsonConverterFactory.create())
            .build()

    val api = myretrofit.create(Api::class.java)

    val call = api.getUnits()

    call.enqueue(object : Callback<List<UnitObject>> {

        override fun onResponse(call: Call<List<UnitObject>>, response: Response<List<UnitObject>>) {
            Toast.makeText(applicationContext, response.isSuccessful.toString(), Toast.LENGTH_LONG).show()
            if (response != null && response.isSuccessful){
                var units = response.body()
                Toast.makeText(applicationContext, "Success", Toast.LENGTH_LONG).show()

                if (units != null) {
                    for (unit in units) {
                        Log.d("unit", unit.getUnit())
                        Log.d("vocabulary", unit.getVocabulary().toString())
                        Log.d("grammar", unit.getGrammar())
                        Log.d("idioms", unit.getIdioms())
                        val subjects = Subjects(unit.getUnit(), unit.getVocabulary(), unit.getGrammar(), unit.getIdioms())
                        //dataSubjects.add(subjects)
                        completeList.add(subjects)


                    }

                }
            }
        }

        override fun onFailure(call: Call<List<UnitObject>>?, t: Throwable?) {
            Toast.makeText(applicationContext, t?.message, Toast.LENGTH_LONG)
        }
    })
}

Вот несколько скриншотов того, что я пытаюсь описать.

Когдасначала открывается приложение

Когда я отхожу от него.

Когда я возвращаюсь в приложение.

1 Ответ

0 голосов
/ 26 августа 2018

Мистер Скарборо, я не вижу никакой разницы между двумя изображениями, которые вы прикрепили. В любом случае, со стороны кода всегда хорошо, если вы используете одиночный объект для модифицированного объекта и инициализируете его один раз за время жизни вашего приложения, поскольку создание httpClient во время инициализации модифицированного ПО является дорогостоящей операцией.

И не могли бы вы прикрепить снимки экрана, вы получаете какие-либо журналы.

  • Если вы получаете журналы, это означает, что вы получаете данные. (Успех API)
  • Если нет, и если вы не получили ошибку Toast, это означает, что условие if при успешном обратном вызове не выполняется.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...