繁体   English   中英

android string.format无法使用计时器正确格式化

[英]android string.format not formatting correctly with a timer

我有一个显示计时器的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位数字的组合,但是我找不到解决此问题的聪明方法

您是否尝试过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));

还有几秒钟?

解决方案是,仅当计时器达到10分钟时才使我的textview变小,而它并未显示在屏幕上。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM