CountDownTimer和.setBackgroundColor()/ .setTextColor()的问题

时间:2012-08-17 21:09:04

标签: java android countdowntimer

我到处寻找答案,但找不到我的情况。我有几个问题,也想知道如何包括毫秒倒计时。我正在尝试以00.00(seconds.milliseconds)格式获得倒数计时器。一个按钮用于启动计时器。我使用的时间取决于按下的按钮,5,10,15,30或90秒。我只是说它的硬编码为5000毫秒,现在变得更简单了。

long timeSecs = 5000; // really timeSecs is dynamic but for the sake of simplicity 
long countDownInterval = 1000; // this is a static value
TextView TVcountDown = (TextView)findViewById(R.id.TVcountDown);

public void createTimer() {

    new CountDownTimer(timeSecs, countDownInterval) {
        public void onTick(long millisUntilFinished) {
            TVcountDown.setText(millisUntilFinished / 1000); // error here on
//.setText unless I cast to an int, which all values are long so I'm not sure why
        }

        @Override
        public void onFinish() {
            TVcountDown.setBackgroundColor(R.color.solid_red); // error here
            TVcountDown.setTextColor(R.color.white);  // error here
            TVcountDown.setText("Expired"); // it will make it here
      // It doesn't count down, just goes straight to onFinish() and displays "Expired"
        }

    }.start();
}

提前致谢。我一直在桌子上打了一会儿。

1 个答案:

答案 0 :(得分:3)

试试这个。 对于setText

TVcountDown.setText("" + (millisUntilFinished / 1000)); 

对于颜色

Resources res = getResources();
TVcountDown.setBackgroundColor(res.getcolor(R.color.solid_red));
TVcountDown.setTextColor(res.getcolor(R.color.white));  

在设置之前,您应该从颜色资源中获取颜色。