我到处寻找答案,但找不到我的情况。我有几个问题,也想知道如何包括毫秒倒计时。我正在尝试以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();
}
提前致谢。我一直在桌子上打了一会儿。
答案 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));
在设置之前,您应该从颜色资源中获取颜色。