【发布时间】:2019-07-04 14:30:24
【问题描述】:
我已将我的计时器设置为在需要时启动、在需要时暂停并在满足条件时重置。很棒,但不是很完美。我希望能够在满足条件时存储计时器显示的时间,例如“01.12”,然后在 TextView 中显示该时间。
目标是显示完成游戏所用的时间,并将其显示在我的 LinearLayout 中(游戏结束后,在重置游戏之前弹出)。
我尝试将时间存储为 long 和 double,但我运气不佳,因为我不知道如何真正做到这一点。以下是满足我想要满足的条件时屏幕显示的内容。
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() (?)
感谢所有帮助。
【问题讨论】:
标签: java android chronometer