我正在以这种方式异步加载一些信息:
doAsync {
val car = initCar()
onComplete {
Log.e("async", "fired")
loadedCar = car
loadCarView()
}
}
loadedCar 变量是一个简单的 CarModel ,并且initCar()
函数返回已初始化的CarModel。
private fun initCar(): Car {
fromVoid = intent.extras == null || intent.extras!!.isEmpty || !intent.hasExtra("car_id")
val car = Car()
if (fromVoid) {
car.name = ""
car.model = ""
dbManager.add(car)
car.id = dbManager.latestInsertId
} else {
car.id = intent.getLongExtra("car_id", -1)
car.name = intent.getStringExtra("car_name")
car.model = intent.getStringExtra("car_model")
}
return car
}
和loadCarView()
只需初始化textViews和EditTexts ...
问题是,一旦安装了应用程序并打开了此活动,它就不会启动 doAsync 函数,但是一旦我重新启动应用程序,它就会...我是说我已经测试了多次通常就是这种情况。
P.S还需要注意的是,该应用程序最初不是用kotlin编写的,而是经过转换的,如果它提供了某些东西...