我有一个列表视图,其中显示了编辑文本和倒计时文本视图的多个详细信息。
对于倒计时器,如果我每1000毫秒运行一个线程并在适配器数据中减去1000毫秒的时间并确实通知数据集已更改。它完美地更新了计时器数据,但编辑文本状态也得到了更新,这意味着一旦用户尝试写入某些内容,焦点就会被清除,并且编辑文本中的值也会发生变化。
任何人都可以帮忙解决这个问题吗?
提前非常感谢你。
答案 0 :(得分:3)
您可以像这样使用CountDownTimer
类:
CountDownTimer cdt = new CountDownTimer(60000, 1000) {
public void onTick(long millisUntilFinished) {
TextView tv = (TextView) findViewById(R.id.tv);
tv.setText("Time left: " + millisUntilFinished / 1000 + " seconds" );
}
public void onFinish() {
TextView tv = (TextView) findViewById(R.id.tv);
tv.setText("Time up!");
}
}.start();
以上代码将启动倒数计时器60秒,并在每1秒后更新倒计时文本。