文字在CountDownTimer中不显示字符串
问题描述:
我有一个CountDownTimer类设置倒计时,当用户点击某个按钮时将开始倒计时。
这是包括CountDownTimer文字在CountDownTimer中不显示字符串
public class play extends Activity implements View.OnClickListener{
private TapCountDownTimer countDownTimer;
private final long startTime = 10;
private final long interval = 1;
private TextView countdowntext;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.play);
countDownTimer = new TapCountDownTimer(startTime, interval);
countdowntext = (TextView)findViewById(R.id.countdowntext);
countdowntext.setText(String.valueOf(startTime));
Button buttonstart = (Button)findViewById(R.id.stopbutton);
buttonstart.setOnClickListener(new View.OnClickListener() {
public void onClick(View v){
countDownTimer.start();
}
});
Button buttonstop = (Button)findViewById(R.id.stopbutton);
buttonstop.setOnClickListener(new View.OnClickListener() {
public void onClick(View v){
countDownTimer.cancel();
}
});
public class TapCountDownTimer extends CountDownTimer {
public TapCountDownTimer(long startTime, long interval)
{
super(startTime, interval);
}
@Override
public void onTick(long millisUntilFinished)
{
countdowntext.setText(Long.toString(millisUntilFinished/1));
}
@Override
public void onFinish()
{
countdowntext.setText("Time's up!");
}
}
}
我设置文本在此行
countdowntext.setText(Long.toString(millisUntilFinished/1));
的代码,但它不工作,文本显示,而不是倒计时“时间到”。
有谁知道如何解决这个问题?
答
您的startTime
和interval
错误设置在秒。
只需乘以1000,因为您需要毫秒。
另请注意,您不需要长 s,用于保持这样的低值。
整数会做。
private final int startTime = 10000; // 10 secs
private final int interval = 1000; // 1s = 1000 ms
而且这是没有意义的:millisUntilFinished/1
(将任意数量由1给你原来的号码)。
它必须是millisUntilFinished/1000
也许这是因为'interval'设置为'1' – Titus
@ FrankN.Stein好吧我会改变 – RichFounders