我需要一个计时器,该计时器每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,它将起作用

10-06 11:19