Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Freddy Hardest
0 / 0 / 0
Регистрация: 16.01.2015
Сообщений: 43
#1

Почему в Android циклы for, while выводят последнее значение в TextView? - Android

16.01.2015, 14:33. Просмотров 672. Ответов 8
Метки нет (Все метки)

я хочу выводить значения i в textview через секунду
Java
1
2
3
4
5
while (i<5) {
i++;
textview1.setText(i);
Thread.sleep(1000);
}
а оно выводит только "4" через 4 секунды
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2015, 14:33     Почему в Android циклы for, while выводят последнее значение в TextView?
Посмотрите здесь:

Android Вывести значение в TextView
Каким образом выводят информацию о новой версии приложения Android
Android Как в ListView обработать нажатие кнопки и изменить здесь же значение в textView ?
Разметка TextView Java Android Android
Android TextView глючит на старых версиях Android и в теме Holo
Вывод в TextView значение из переменной int Android
Android Как в Android Studio по нажатию кнопки выводить свой текст в TextView?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Spelcrawler
525 / 495 / 111
Регистрация: 12.03.2014
Сообщений: 1,647
Завершенные тесты: 1
16.01.2015, 14:45     Почему в Android циклы for, while выводят последнее значение в TextView? #2
Freddy Hardest, потому что вы усыпляете UI поток. Сначала пишется 1, засыпает на секунду, потом 2, опять засыпает и т.д.. Во время работы UI потока он не обновляет промежуточные данные на View элементах - только конечное. Нужно запускать этот цикл в отдельном потоке - тогда отработает как нужно.
Freddy Hardest
0 / 0 / 0
Регистрация: 16.01.2015
Сообщений: 43
17.01.2015, 13:23  [ТС]     Почему в Android циклы for, while выводят последнее значение в TextView? #3
спасибо за наводку, с трудом, но нашел пример на английском, который мне нужен был
JarGivrin
0 / 0 / 0
Регистрация: 17.05.2015
Сообщений: 1
17.05.2015, 00:48     Почему в Android циклы for, while выводят последнее значение в TextView? #4
Freddy Hardest, можете дать ссылку на этот пример?
Freddy Hardest
0 / 0 / 0
Регистрация: 16.01.2015
Сообщений: 43
17.05.2015, 22:30  [ТС]     Почему в Android циклы for, while выводят последнее значение в TextView? #5
это давным-давно было, ссылка у меня не сохранилась. но вы можете легко найти через поисковик по ключевому слову Thread
Valakin
430 / 96 / 15
Регистрация: 21.02.2015
Сообщений: 729
18.05.2015, 08:34     Почему в Android циклы for, while выводят последнее значение в TextView? #6
Spelcrawler,
Во время работы UI потока он не обновляет промежуточные данные на View элементах
это выявлено экспериментально или следует из какой то логики работы java?
Spelcrawler
525 / 495 / 111
Регистрация: 12.03.2014
Сообщений: 1,647
Завершенные тесты: 1
18.05.2015, 09:27     Почему в Android циклы for, while выводят последнее значение в TextView? #7
Valakin, и то и другое. Да даже логически подумать, программа выполняет код от первой строчки до последней, происходит это быстро в любом случае не успеть заметить каких то изменений. А пока поток спит программа вообще "зависает".
Valakin
430 / 96 / 15
Регистрация: 21.02.2015
Сообщений: 729
18.05.2015, 10:16     Почему в Android циклы for, while выводят последнее значение в TextView? #8
программа ведь зависает после выполнения textview1.setText(i);
и в течении секунды (можно сделать и больше) не видно изменений экрана
ощущение что обновление экрана идет в отдельном потоке, но не выполняется на "засыпании"
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2015, 10:20     Почему в Android циклы for, while выводят последнее значение в TextView?
Еще ссылки по теме:

При вводе слов из Википедии брать значение этого слова и отображать в TextView Android
Android Почему каждый второй говорит что в android не совсем java?
Android Не получается поменять значение android:keyLabel= . ?
Как по нажатию кнопки несколько раз выводить текст в TextView в Android Studio? Android
Android Почему Android Studio не сразу подхватывает изменения кода(только после переустановки apk)?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Паблито
2236 / 1809 / 563
Регистрация: 12.05.2014
Сообщений: 6,448
Завершенные тесты: 1
18.05.2015, 10:20     Почему в Android циклы for, while выводят последнее значение в TextView? #9
Цитата Сообщение от Freddy Hardest Посмотреть сообщение
я хочу выводить значения i в textview через секунду
у андроида для подобных ситуаций есть Timer, AsyncTask, CountDownTimer....Handler наконец
Yandex
Объявления
18.05.2015, 10:20     Почему в Android циклы for, while выводят последнее значение в TextView?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru