Простой способ показать десятичную с длинным через CountDownTimer - PullRequest
0 голосов
/ 02 июня 2011

У меня есть рабочий код, но мне кажется немного странным, что мне приходится хитрить, показывая десятичный знак на CountDownTimer, но я не нашел ничего, что облегчает (очевидно).

Вот рабочий код, который у меня сейчас есть:

    final String tempTitle = TextView.getText().toString();

    new CountDownTimer(10000, 100) {

                 public void onTick(long millisUntilFinished) {
                     String timeDown = String.valueOf(millisUntilFinished / 100);
                     String secTime="0";
                     String sec10th="0";
                     if (Long.valueOf(millisUntilFinished) < 1000) {
                     secTime ="0";
                     sec10th = timeDown.substring(0,1);
                     }else{
                     secTime=timeDown.substring(0,1);
                     sec10th = timeDown.substring(1,2);
                     }

                     TextView.setText("Start in: " + secTime + "." + sec10th);
                 }

                 public void onFinish() {
                     TextView.setText(tempTitle);
                 }
              }.start(); 


    }

1 Ответ

4 голосов
/ 02 июня 2011

делите на 100,0, чтобы вы не делали целочисленное деление.

Редактируйте для своего комментария: вы можете сделать

DecimalFormat df=new DecimalFormat("#.##"); //import java.text.DecimalFormat;
String timeDown=df.format(millisUntilFinished/100.0);

или #. ### и т. Д. В зависимости от того, сколько десятичных разрядов вы хотите...

...