Как предотвратить увеличение времени хронометра - PullRequest
0 голосов
/ 27 февраля 2019

Первое действие - это основной секундомер -

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?Есть ли лучший способ обработать подтверждение, а затем продолжить таймер?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...