Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: как сделать паузу  (Прочитано 24443 раз)
0 Пользователей и 1 Гость смотрят эту тему.
monrus
Опытный

ru
Offline Offline

« : 05-10-2012 02:43 » new

привет.
извиняюсь за банальный вопрос - как сделать паузу на Java (аналог
Код:
sleep (ms)
на дельфи?
Встроеной функции не нашел.
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 05-10-2012 04:06 » 

Thread.sleep(ms)
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
monrus
Опытный

ru
Offline Offline

« Ответ #2 : 05-10-2012 18:33 » 

RXL, спасибо.

Можно узнать, почему не выводится один текст, затем через несколько секунд второй,
а идет пауза, затем выводится второй текст без отображения сначала первого?
  
Код:
TextView text = (TextView) findViewById(R.id.textView1);
        text.setText("Start:");
        
        Thread.sleep(3000);

        text.setText("Stop");
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 05-10-2012 18:39 » 

monrus, потому что это не консоль, событие перерисовки окна не обрабатывается из-за того, что поток управления не возвращается к циклу обработки событий.

Такие вещи делаются через таймер, а не через sleep. Либо же нужно принудительно вызывать перерисовку.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
monrus
Опытный

ru
Offline Offline

« Ответ #4 : 05-10-2012 19:34 » 

Можно ли как-то без таймеров? в нете написано про invalidate(), установил после первого settext - не помолго.
Кстати, можно ли под андроид создавать консольные программы, так мне было бы удобнее.
« Последнее редактирование: 05-10-2012 19:50 от monrus » Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 06-10-2012 08:45 » 

monrus, это не перерисовка, а сброс флага актуальности изображения - перерисовка запустится только когда поток управления вернётся в главный цикл. См. какие-нибудь update или refresh или что-то такое.

Под андроид консоль... вроде кто-то делал. Как - не знаю.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
monrus
Опытный

ru
Offline Offline

« Ответ #6 : 06-10-2012 12:40 » 

В общем сделал через Handler и Thread.
Пример взял из http://startandroid.ru/uroki/vse-uroki-spiskom/144-urok-81-handler-posylaem-prostoe-soobschenie.html
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines