Java 如何存储暂停的计时器时间并将其显示在另一个视图中
我已将计时器设置为需要时启动,需要时暂停,满足条件时重置。很好,但不太完美。我希望能够存储计时器显示的时间,比如说“01.12”,当条件满足时,然后在文本视图中显示该时间 目标是显示完成游戏所花的时间,并在我的LinearLayout(游戏结束时会弹出,然后重置游戏)中显示 我试着将时间存储为长时间和双时间,但我没有得到多少运气,因为我不知道如何真正做到这一点。下面是我想要满足的条件满足时屏幕显示的内容Java 如何存储暂停的计时器时间并将其显示在另一个视图中,java,android,chronometer,Java,Android,Chronometer,我已将计时器设置为需要时启动,需要时暂停,满足条件时重置。很好,但不太完美。我希望能够存储计时器显示的时间,比如说“01.12”,当条件满足时,然后在文本视图中显示该时间 目标是显示完成游戏所花的时间,并在我的LinearLayout(游戏结束时会弹出,然后重置游戏)中显示 我试着将时间存储为长时间和双时间,但我没有得到多少运气,因为我不知道如何真正做到这一点。下面是我想要满足的条件满足时屏幕显示的内容 for (int[] winningPosition : winningPositions)
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 pausedTime=findViewById(R.id.pausedTimeTV)
pausedTime.chronoTime()(?)
感谢您提供的所有帮助。您可以使用
SimpleDateFormat
以所需的格式安排时间
if(isRunning){
chronometer.stop();
long stoppedTime = SystemClock.elapsedRealtime() - chronometer.getBase();
// Create the desired format
SimpleDateFormat formatter = new SimpleDateFormat("mm:ss", Locale.getDefault());
myTextView.setText(formatter.format(stoppedTime)); // Set the formatted time in the textview
}
有关格式的详细信息,请访问您可以使用
SimpleDataFormat
以所需的格式安排时间
if(isRunning){
chronometer.stop();
long stoppedTime = SystemClock.elapsedRealtime() - chronometer.getBase();
// Create the desired format
SimpleDateFormat formatter = new SimpleDateFormat("mm:ss", Locale.getDefault());
myTextView.setText(formatter.format(stoppedTime)); // Set the formatted time in the textview
}
有关格式的详细信息,请访问完美、简单、方便。非常感谢您完美、简单、方便。非常感谢你