Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Freddy Hardest
0 / 0 / 0
Регистрация: 16.01.2015
Сообщений: 43
#1

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

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

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

Разметка TextView Java Android
приветы. ситуация такая: имеется листвью, в нем нное количество итемов. в...

Android studio не выводит дату в TextView
Здравствуйте. Программируя в Android studio, столкнулся с проблемой: я никак не...

SQLite Android и вывод данных в TextView
Использую SQLite для хранения и доступа к данным в андроид-приложении. Задаю ...

Как применять свои шрифты для textView в Android?
Запихнул шрифт под именем MainFont в папку assets, и пишу код: ...

TextView глючит на старых версиях Android и в теме Holo
Написал программу на стандартной теме... Всё работает! Теперь решил поменять...

8
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
16.01.2015, 14:45 #2
Freddy Hardest, потому что вы усыпляете UI поток. Сначала пишется 1, засыпает на секунду, потом 2, опять засыпает и т.д.. Во время работы UI потока он не обновляет промежуточные данные на View элементах - только конечное. Нужно запускать этот цикл в отдельном потоке - тогда отработает как нужно.
0
Freddy Hardest
0 / 0 / 0
Регистрация: 16.01.2015
Сообщений: 43
17.01.2015, 13:23  [ТС] #3
спасибо за наводку, с трудом, но нашел пример на английском, который мне нужен был
0
JarGivrin
0 / 0 / 0
Регистрация: 17.05.2015
Сообщений: 1
17.05.2015, 00:48 #4
Freddy Hardest, можете дать ссылку на этот пример?
0
Freddy Hardest
0 / 0 / 0
Регистрация: 16.01.2015
Сообщений: 43
17.05.2015, 22:30  [ТС] #5
это давным-давно было, ссылка у меня не сохранилась. но вы можете легко найти через поисковик по ключевому слову Thread
0
Valakin
431 / 97 / 15
Регистрация: 21.02.2015
Сообщений: 738
18.05.2015, 08:34 #6
Spelcrawler,
Во время работы UI потока он не обновляет промежуточные данные на View элементах
это выявлено экспериментально или следует из какой то логики работы java?
0
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
18.05.2015, 09:27 #7
Valakin, и то и другое. Да даже логически подумать, программа выполняет код от первой строчки до последней, происходит это быстро в любом случае не успеть заметить каких то изменений. А пока поток спит программа вообще "зависает".
1
Valakin
431 / 97 / 15
Регистрация: 21.02.2015
Сообщений: 738
18.05.2015, 10:16 #8
программа ведь зависает после выполнения textview1.setText(i);
и в течении секунды (можно сделать и больше) не видно изменений экрана
ощущение что обновление экрана идет в отдельном потоке, но не выполняется на "засыпании"
0
Pablito
2707 / 2154 / 731
Регистрация: 12.05.2014
Сообщений: 7,521
Завершенные тесты: 1
18.05.2015, 10:20 #9
Цитата Сообщение от Freddy Hardest Посмотреть сообщение
я хочу выводить значения i в textview через секунду
у андроида для подобных ситуаций есть Timer, AsyncTask, CountDownTimer....Handler наконец
0
18.05.2015, 10:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2015, 10:20

Как в Android Studio по нажатию кнопки выводить свой текст в TextView?
Вот мой код MyActivity.java: package com.example.dasha; import...

Как по нажатию кнопки несколько раз выводить текст в TextView в Android Studio?
Помогите вывести текст в textview при нажатии на одну и ту же кнопку ? Нажал -...

Подскажите почему не выводит данные в textview из sqlite
У меня есть две активности helper и helperRec На первой есть глобальная...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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