2011-06-02 35 views
0

我已經工作的代碼,但似乎有點奇怪,我要噱頭圍繞顯示在CountDownTimer小數位我的方式,但我沒有發現任何東西,做更容易(明顯)。簡單的方法通過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(); 


    } 

回答

4

除以100.0所以你不要做整數除法。按您的評論

編輯: 你可以做

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

或####等這取決於你想要多少位小數...

+0

謝謝,做工不錯,沒有得到偶師上100s和1000s,所以我使用.substring(0,3)來獲得#。#,是否有更好的數字格式?在我轉換爲字符串之前? – Toclmi 2011-06-02 02:41:16

+0

請參閱我編輯格式化數字的一個選項。 – jkhouw1 2011-06-02 09:28:10