我需要一个计时器,该计时器每5秒将一个变量加1,然后更新一个TextView,其中报告了该变量的总数,我尝试以其他方式设置计时器,但是每次尝试更改布局时(我使用Intent),然后回到该主菜单,继续增加变量值的代码有效,但是更新textview号的代码有效。
private void startTimer(){
timer = new Timer();
timerTask = new TimerTask() {
public void run() {
handler.post(new Runnable() {
public void run(){
x = x + 1;
DecimalFormat formatter1 = (DecimalFormat) NumberFormat.getInstance(Locale.US);
formatter1 .applyPattern("#,###");
showTotal.setText(formatter1.format(x));
}
});
}
};
timer.schedule(timerTask, 5000, 5000);
}
可能是什么原因?
我试图创建一个强制更新textview的按钮,变量x的值继续增加,我不明白为什么它不执行第二部分
最佳答案
我通过创建一个更新UI的功能来找到解决方案,
public static void updateUI(){
DecimalFormat formatter1 = (DecimalFormat) NumberFormat.getInstance(Locale.FRANCE);
formatter1.applyPattern("#,###");
showPuntiTotali.setText(formatter1.format(vv.getPunteggioTOT()));
}
如果我将其称为计时器,而不是尝试直接更新TextView,它将起作用