最初不会显示我的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)
}
})
}
以下是我要描述的屏幕截图。
答案 0 :(得分:0)
Scarboro先生,您所附的两张图片看不出有什么区别。无论如何,从代码方面来说,如果使用单例作为改造对象并在应用程序的生命周期中对其进行一次初始化总是很好的,因为改造初始化期间的httpClient创建是一项昂贵的操作。
能不能请您附上日志截屏,是否会得到日志?