Я хочу сделать что-то очень простое. У меня есть индикатор выполнения и текстовый элемент, который я хочу динамически обновлять при нажатии кнопки, но более одного раза во время вызова функции.Обновление TextView в одной функции
Я хочу, чтобы он изменился на «A», а затем на секунду, затем переключитесь на «B» ... например.
Я понимаю, что моя функция блокирует UI/основной поток, что является то, что если я setText() десять раз, я вижу только, когда появляется десятый текст, когда функция завершается.
Так что я пытался обработать обработчики/runnables в потоке пользовательского интерфейса, недействительные (и postInvalidating), чтобы стимулировать обновление и runOnUiThread(), и все они просто обновляются, когда они закончили работать, оставив меня только с конечным состоянием.
public void requestPoint(View v) {
textProgress.setText("Requesting A Point");
waiting(200);
progressBar.setProgress(5);
textProgress.setText("Request Received!");
waiting(500);
....
}
Я думаю, что я повернул почти все подобные ссылки вопроса фиолетовыми и впустую слишком много времени на этой простой вещи (хотя я узнал много о резьбе на Android), но я чувствую, что должно быть что-то не хватаю Это не похоже на эту сложную задачу.
Любая помощь была бы принята с благодарностью.
Как можно «ждать»() 'wait, не блокируя текущий поток? –
Он делает мое плохое. Ожидание просто тратит время на цикл – Avarice
Вы пытались использовать таймер или asyncTask? – gian1200