如何防止计时码表时间增加

时间:2019-02-27 17:27:46

标签: android kotlin

第一个活动是基本的秒表-

var stopTime:Long=0

chronometer.start()

pause.setOnClickListener{
    chronometer.stop()
    stopTime=chronometer.base-SystemClock.elapsedRealtime()
}

resume.setOnClickListener{
    chronometer.base=SystemClock.elapsedRealtime()+stopTime
    chronometer.start()
}

stop.setOnClickListener{
    chronometer.stop()
    val intent = Intent(this, NEWACTIVITY::class.java)
    intent.putExtra("time", chronometer.base)
    startActivity(intent)
}

当用户选择stop时,NEWACTIVITY是一个确认屏幕,其中显示了经过时间-

var stopTime = intent.getLongExtra("time",0)

chronometer.base=stopTime

incomplete.setOnClickListener{
    stopTime=chronometer.base-SystemClock.elapsedRealtime()
    val intent = Intent(this, NEWACTIVITY2::class.java)
    intent.putExtra("contTime", stopTime)
    startActivity(intent)
}

选择incomplete时,用户将被带到另一个新活动,我希望计时器继续运行-

var stopTime = intent.getLongExtra("contTime",0)

chronometer.base = SystemClock.elapsedRealtime()+stopTime

chronometer.start()

但是,看来天文钟一直在运转。例如。计时器停止在00.05,确认屏幕显示00.05,在5秒钟后选择incomplete,将用户带到NEWACTIVITY2,计时器将从00.10继续而不是00.05

如何从stopTime中的NEWACTIVITY2继续计时?有没有更好的方法来处理确认然后继续计时器?

0 个答案:

没有答案