首次启动应用程序时未触发Anko doAsync

时间:2019-04-28 08:57:22

标签: android kotlin anko

我正在以这种方式异步加载一些信息:

    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编写的,而是经过转换的,如果它提供了某些东西...

0 个答案:

没有答案