我有两个XML格式的EditTexts。在一个EditText中,用户可以输入分钟表示的数字,而在另一个EditText中,用户可以输入秒表示的数字。单击finish按钮后,秒数EditText应开始倒计时并每秒更新其文本。
此外,我如何保持更新,直到它达到0分零秒?
发布于 2019-08-22 16:25:17
    var futureMinDate = Date()
    val sdf = SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH)
    try {
        futureMinDate = sdf.parse("2019-08-22")
    } catch (e: ParseException) {
        e.printStackTrace()
    }
    // Here futureMinDate.time Returns the number of milliseconds since January 1, 1970, 00:00:00 GM
    // So we need to subtract the millis from current millis to get actual millis
    object : CountDownTimer(futureMinDate.time - System.currentTimeMillis(), 1000) {
        override fun onTick(millisUntilFinished: Long) {
            val sec = (millisUntilFinished / 1000) % 60
            val min = (millisUntilFinished / (1000 * 60)) % 60
            val hr = (millisUntilFinished / (1000 * 60 * 60)) % 24
            val day = ((millisUntilFinished / (1000 * 60 * 60)) / 24).toInt()
            val formattedTimeStr = if (day > 1) "$day days $hr : $min : $sec"
            else "$day day $hr : $min : $sec"
            tvFlashDealCountDownTime.text = formattedTimeStr
        }
        override fun onFinish() {
            tvFlashDealCountDownTime.text = "Done!"
        }
    }.start()传递未来的日期并将其转换为毫秒。
它会像护身符一样起作用。
https://stackoverflow.com/questions/10032003
复制相似问题