我需要使用 android 中的线程每秒递增一个数字

I need to increment a number every second using threads in android

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

任何人都可以指导我如何实现这一目标。我刚接触 android。

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

                    }
                }, 1000);

试试这个

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

你可以

  • 每秒重新运行 runnable
  • 使用 AlarmManager。

我建议您查看 this link 以更深入地了解如何实施 post 延迟或警报管理器以每 X 秒重复一次任务的多种方式。

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

定义一个线程并启动它。

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

            }
        });
    counterThread.start();

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