Нужно чтобы сразу после нажатия появился текст, а через секунду продолжилось бы выполнение. На деле выходит все не так - задержка срабатывает раньше появление надписи.
public void onClick(View v) {
switch (v.getId()) {
case 1:
tvOutAns.setTextColor(colorGreen);
tvOutAns.setText("правильно: " + answer);
try {
TimeUnit.MILLISECONDS.sleep(1000);
} catch (Exception e) {
}
createTask();
break;
}
}
Например так можно
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
// код, который надо запустить через секунду
}
}, 1000);
Или в модных лямбдах (рекомендую кстати, гуглите retrolambda)
(new Handler()).postDelayed(()->{/*код*/},1000);
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники