如何正确重启线程

时间:2019-07-15 15:48:09

标签: java android handler runnable

提前谢谢大家! 我有一个任务(为了理解我会尝试改写)。我必须显示从1到100的数字,间隔为1秒。 但是用户可以单击以暂停。 (因为我发现仅在特定时间内停止了流),我决定杀死他并创建一个新流。但是,在日志中创建了一个新文件后,我看到它可以正常工作,并且我删除了一个(平行的两个文件)。 1)如何正确杀死流并重新创建它Handler + Runnable 2)通过什么方式,您可以创建可以暂停的流(而不是特定的秒数)

1 个答案:

答案 0 :(得分:0)

只需跟踪外部变量中的数字,即可使用处理程序发布可运行对象(然后将其以延迟方式发布)。遵循以下内容应该可以。

final int[] count = {0};
Handler handler = new Handler();
Runnable runnable = new Runnable() {
    @Override
    public void run() {
        count[0]++;
        if (count[0]<=100) {
            //Print the count[0] value however you'd like.
            handler.postDelayed(this, 1000);
        }
    }
};

//To run
handler.post(runnable);

//To pause
handler.removeCallbacks(runnable);