首页 > 解决方案 > 计时器 - 如何使用计时器以特定间隔显示文本?

问题描述

我有 30 秒内带有时间戳的 JSON 数据(我想在 TextViews 中显示大约 20 个字符串)。我将如何显示相对于 30 秒计时器的文本?

json 输出是开始时间和结束时间。例如:

start_time  :   2.7
end_time    :   3.28
content :   just call me      //The text I want to display on screen
start_time  :   3.76
end_time    :   3.96
content : maybe

标签: android

解决方案


您可以使用 java.util.Timer 来实现计时器。

new Timer().schedule(task, after);

像这样在 for 循环中使用它:

for(int i=0; i<=array.length(); i++){
    new Timer().schedule(task, start_time);
}

此外,您可以通过以下方式设置从 TextView 中删除文本的计时器:

for(int i=0; i<=array.length(); i++){
        new Timer().schedule(task, start_time);
        new Timer().schedule(taskDelete, end_time);
    }

你可以像这样定义任务:

task = new TimerTask() {
            public void run() {

                handler.post(new Runnable() {
                    public void run() {
                        //set text in TextView
                        yourTV.setText("your text);
                    }
                });
            }
        };

而且, taskDelete 像这样:

taskDelete = new TimerTask() {
            public void run() {

                handler.post(new Runnable() {
                    public void run() {
                        //remove text from TextView
                        yourTV.setText("...");
                    }
                });
            }
        };

如果要使用动画更改 textView 中的文本,可以使用TextSwitcher


推荐阅读