Я настроил свой хронометр на запуск при необходимости, на паузу при необходимости и на сброс при выполнении условия.Отлично, но не совсем идеально.Я хочу сохранить время, которое показывает хронометр, скажем, «01.12», когда условие выполнено, а затем отобразить это время в TextView.
Цель состоит в том, чтобы показать, сколько времени потребовалось, чтобы закончить игру, и отобразить это в моем LinearLayout (которое появляется после завершения игры, до сброса игры).
IЯ пытался хранить время как длинный и двойной, но мне не очень повезло, потому что я не знаю, как на самом деле это сделать.Ниже показано, что мой экран показывает, когда выполняется условие, которое я хочу выполнить.
for (int[] winningPosition : winningPositions) {
if (gameState[winningPosition[0]] == gameState[winningPosition[1]] &&
gameState[winningPosition[1]] == gameState[winningPosition[2]] &&
gameState[winningPosition[0]] != 2) {
if(running) {
chronometer.stop();
pauseOffSet = SystemClock.elapsedRealtime() - chronometer.getBase();
running = false;
}
// Someone has won!
String winner = "Red";
//prints a 0 or 1 depending on who has won
if (gameState[winningPosition[0]] == 0) {
chronometer.stop();
winner = "Yellow";
}
TextView winnerMessage = findViewById(R.id.winnerMessage);
winnerMessage.setText(winner + " has won!");
LinearLayout layout = findViewById(R.id.playAgainLayout);
Animation slideUp = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.slide_up);
if(layout.getVisibility()==View.INVISIBLE){
layout.startAnimation(slideUp);
layout.setVisibility(View.VISIBLE);
}
}
}
Ожидаемый результат - поместить приостановленное время в TextView, как, например,
TextView pausedTime = findViewById(R.id.pausedTimeTV);
pausedTime.chronoTime () (?)
Спасибо за любую помощь.