Первое действие - это основной секундомер -
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, выберите incomplete
через 5 секунд, чтобы пользователь перешел на NEWACTIVITY2
, и хронометр продолжит работу с 00.10, а не 00.05
Как продолжить хронометр с stopTime
в NEWACTIVITY2
?Есть ли лучший способ обработать подтверждение, а затем продолжить таймер?