0

在这里,我使用 Handler 来做,但它只会增加一个数字一次。我希望它增加数字,直到我使用 handler.removeCallbacksAndMessages(null); 停止它。

谁能指导我如何实现这一目标。我只是安卓新手。

   Handler handler;
handler = new Handler();
 handler.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        count++;

                    }
                }, 1000);
4

3 回答 3

0

试试这个

Handler handler;
handler = new Handler();
handler.postDelayed(new Runnable() {
    @Override
    public void run() {
         count++;
         handler.postDelayed(this, 1000);
    }
}, 1000);
于 2019-09-19T06:39:55.680 回答
0

你可以

  • 每秒重新运行可运行文件
  • 使用警报管理器。

我建议您查看此链接,以更深入地了解如何实现延迟后或警报管理器以每 X 秒重复一次任务的多种方式。

编辑:我建议您在 onPause 方法中停止处理程序。

于 2019-09-19T06:42:20.737 回答
0

定义一个线程一个启动它。

   Thread counterThread=new Thread(()->{
            try{
                while(true){
                counter++;
                Thread.sleep(1000);
                }
            }
            catch (Exception e){

            }
        });
    counterThread.start();

当你想停止这个线程调用counterThread.interrupt();

于 2019-09-19T06:43:18.273 回答