Android делает паузу с потоком, но добавляет материал в текстовое представление

У меня есть линейный макет, в котором я размещаю текстовое представление с идентификатором "Out". В моем коде я получаю это textview и вызываю out.append("Некоторая строка здесь");. То, что я хочу сделать, это использовать thread.sleep(1000); подождать одну секунду, а затем сделать еще один добавить. Когда я просто использую цикл for и перебираю его десять раз, он ждет десять секунд, а затем обновляет представление в конце. Как я могу сделать это обновление вид между снами?

пс. Основная причина этого заключается в том, что у меня есть другой поток, работающий с выходным потоком Bluetooth, и я хочу, чтобы он обновлял текстовое представление каждый раз, когда я посылаю байт в arduino, подключенный через модуль bluesmirf. Я могу заставить его отправлять данные, но обновление экрана происходит в конце цикла for. Если я поставлю режим сна в этот цикл, он будет ждать одну секунду, а затем выводит на Arduino никаких проблем. Я просто хочу обновить его, чтобы я мог видеть, где что-то не так, как происходит, без использования журналов.

1 ответ

Может быть, вы можете использовать обработчик пост-задержки

Handler handler = new Handler();
                handler.postDelayed(new Runnable() {
                    public void run() {
                   //Here is the code you want to run after 1 second
                    }
                }, 1000);

Обработчик не блокирует, но может это поможет

Извините за мой плохой английский, удачи!

Другие вопросы по тегам