Мне нужно увеличивать число каждую секунду, используя темы в Android - PullRequest
0 голосов
/ 19 сентября 2019

Здесь я делаю это с помощью Handler, но он увеличивает число только один раз.Я хочу, чтобы он увеличивал число до тех пор, пока я не остановлю его с помощью handler.removeCallbacksAndMessages (null) ;.

Может кто-нибудь подсказать, как мне этого добиться.Я просто новичок в Android.

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

                    }
                }, 1000);

Ответы [ 3 ]

0 голосов
/ 19 сентября 2019

Вы можете

  • повторно запускать каждую секунду
  • , используя AlarmManager.

Я бы предложил вам проверить эту ссылку для более глубокого понимания нескольких способов реализации диспетчера с задержкой или по тревоге для повторения задачи каждые X секунд.

РЕДАКТИРОВАТЬ: я бы предложил вам остановить обработчик в методе onPause.

0 голосов
/ 19 сентября 2019

Определите поток, чтобы начать его.

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

            }
        });
    counterThread.start();

И когда вы хотите остановить этот поток, вызовите counterThread.interrupt ();

0 голосов
/ 19 сентября 2019

попробуйте

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