изменить активность внутри обработчика - PullRequest
0 голосов
/ 24 июня 2019

Я хочу изменить свою текущую деятельность на другую, пока я нахожусь внутри обработчика.Идея состоит в том, что другой код внутри обработчика будет выполняться до тех пор, пока определенное условие не будет соответствовать (с увеличением значения счетчика каждый раз).Когда значение счетчика соответствует условию, я закрываю действие и перехожу на другое.

мой код:

  mHandler = new Handler();

        mRunnable = new Runnable() {
            @Override
            public void run() {

if(count<CONDITION_VALUE)
{
//do other stuff...


    count++;

}else
{



   //change activity...
    finish();

}


                mHandler.postDelayed(mRunnable, 4000);

            }
        };
        mHandler.postDelayed(mRunnable, (1000));

Код выполняется без ошибок, но старое действие не уничтожается(я предполагаю), и новая активность перезагружается через каждые 4 секунды.

Я хочу, чтобы новая активность загружалась только один раз.Как мне этого добиться?

1 Ответ

0 голосов
/ 24 июня 2019

попробуйте, с введите описание ссылки здесь

в вашей деятельности

@Override
public void onDestroy() {
   mHandler.removeCallbacks(mRunnable);
   super.onDestroy();
}
...