第一个活动是基本的秒表-
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
继续计时?有没有更好的方法来处理确认然后继续计时器?