Я просто хочу обновить свое текстовое представление с помощью таймера обратного отсчета с 15 до 0 и используя следующий код, но он НЕ обновляет его каждую секунду и занимает около 3,4 секунды. для обновления каждый раз.имеют задержку при обновлении текстового поля каждую секунду в android
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initGame();
CountDownTimer countDownTimer = new CountDownTimer(30000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
tv.setText("time left : " + millisUntilFinished/1000);
}
@Override
public void onFinish() {
tv.setText("finished!");
}
}.start();
}
для instace печатает:
time left : 29 time left: 25 time left: 22
Я ценю вашу помощь.
Обычно, если время, необходимое для операции, которую вы выполняете в методе 'onTick()', вы пропустите следующий. Если единственное задание, которое вы выполняете в 'onTick()', задает текст, возможно, это не так, поэтому, вероятно, ваш поток пользовательского интерфейса довольно занят. – GVillani82
Постарайтесь его прокомментировать? Android studio -> вкладка [Android Monitor] -> суб-вкладка [Мониторы] -> В верхней части графика процессора находится кнопка «Трассировка метода запуска» - должна работать с отладочной сборкой. Из документов это выглядит так: 'onTick' вызывается в желаемом интервале, когда предыдущий' onTick' уже закончил, поэтому ваш код должен работать (вы можете попробовать его только с одним текстовым видом без каких-либо других действий, чтобы увидеть, работает ли он, но поскольку он выглядит так же, как официальный пример, он, вероятно, работает). – Ped7g
@ GVillani82 за исключением того, что textview у меня 16 изображений. это задержка? делает этот способ визуализации ui снова? если да, то есть способ частично отобразить ui? Я довольно новичок в программировании на Android! – Power