我有一个显示计时器的textview,我使用string.format所以秒将始终使用2位数:0:00
但是当我达到10分钟(分钟也达到两位数)时,秒数仅使用一位而不是两位数。
timerRunnable:
Runnable timerRunnable = new Runnable() {
@Override
public void run() {
millis = System.currentTimeMillis() - startTime;
aSeconds = (int) (millis / 1000) + paSeconds;
seconds = (int) (millis / 1000) + pSeconds;
minutes = seconds / 60 + pMinutes;
seconds = seconds % 60;
timerTextView.setText(String.format("%d:%02d", minutes, seconds));
if(aSeconds == delay){
Toast.makeText(getApplicationContext(), "Drink",
Toast.LENGTH_LONG).show();
delay += delay;
count += 1;
Log.d("MainActivity", "" + count);
}
timerHandler.postDelayed(this, 1000);
}
};
我很讨厌问题是我将String.format设置为基本上只包含3位数,但我找不到解决问题的聪明方法
答案 0 :(得分:0)
你试过if..else吗?
if (minute >=10 && minute<=59)
timerTextView.setText(String.format("02%d:%02d", minutes, seconds));
else
timerTextView.setText(String.format("2%d:%02d", minutes, seconds));
还有什么pSeconds?
答案 1 :(得分:0)
解决方案只是在计时器达到10分钟时让我的文本视图更小,它只是没有在屏幕上显示..