@hax
junior developer

Как сделать задержку выполнения на 1-2 секунды?

Сделать обработчик событий на нажатие кнопки. Логика такова, что при нажатии на кнопку сама кнопка должна загораться определенным цветом. Делал вот так:
@Override
    public void onClick(View v) {
            v.setBackgroundResource(R.drawable.choose_answer);
        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
   }


Но здесь почему-то сначала выполняется нажатие, потом идет задержка 2 секунды, потом только меняется цвет.
  • Вопрос задан
  • 6884 просмотра
Пригласить эксперта
Ответы на вопрос 2
@z0rgoyok
Ответ написан
Комментировать
AStek
@AStek
Ты заблокировал поток исполнения.
Думаю стоит попробовать как-то так:

@Override
    public void onClick(final View v) {
        new Thread(()->{
            v.setBackgroundResource(R.drawable.choose_answer);
           try {
              Thread.sleep(2000);
           } catch (InterruptedException e) {
              e.printStackTrace();
           }
        }).start();
   }
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы