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

Оповещение в UI из потока - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Эмулятор, использование SDcard (импорт сертификата fiddler) http://www.cyberforum.ru/android-dev/thread936702.html
Приветствую! Задача такая - я просматриваю траффик идущий с эмулятора через локальный прокси fiddler. На эмуляторе я не могу зайти на многие сайты, использующие хттпс т.к. им нужен установленный...
Программирование Android Старт на пути к android Всем привет. Только начал интересоваться программирование, знания нулевые. Цель - программирование для android (создание приложений). Знаю что для android пишут на Java. Вот тут собственно и... http://www.cyberforum.ru/android-dev/thread936682.html
Программирование Android Ошибка при запуске эмулятора
Очень много вопросов, так как я начинающий) салага))) Добавлено через 2 минуты Выдает: Starting emulator for AVD 'GAPI-17' Failed to allocate memory: 8 This application has requested the...
Цвет Background определенного итема ListView Программирование Android
надо программно изменить цвет фона определенного пункта ListView, как такое можно реализовать?
Программирование Android Не реагирует OnItemSelectedListener http://www.cyberforum.ru/android-dev/thread936377.html
lvMain = (ListView) findViewById(R.id.lvMain); txtMain = (TextView) findViewById(R.id.txtMain); String names = new String{"ololo", "ol","ala"}; final ArrayAdapter<String> adapter = new...
Программирование Android MediaPlayer выбор из Raw ? Можно ли в MediaPlayer предоставить пользователю возможность выбрать треки из raw , как это сделать? или сделать возможность копировать музыку в отдельный каталог на SD ? Также может ктото знает... подробнее

Показать сообщение отдельно
GiGaBiTe911
24 / 24 / 1
Регистрация: 04.02.2013
Сообщений: 132
Записей в блоге: 1

Оповещение в UI из потока - Программирование Android

12.08.2013, 01:05. Просмотров 539. Ответов 3
Метки (Все метки)

Доброго времени. суть проблеммы в сл. не работает повторное оповещение UI из потока. в приложении создаеЦа новый поток для выполнения некой длинной операции, чтобы пользователь мог видеть ход выполнения, прогрессбар в UI обновляетЦа из потока через Handler. и все работает прекрасно.... когда поток выполняеЦа впервые. но если я запускаю выполнение потока повторно, ввесь код выполняется отлично, но визуально UI никак не обновляеЦа. вот примеры кода:

поток:
Java
1
2
3
4
5
6
7
8
 myThread = new Thread(new Runnable()
        {
            @Override
            public void run()
            {
               DoSomething();
            }
        });
метод в котором выполняется длительная операция:
Java
1
2
3
4
5
6
7
8
9
 private void DoSomething()
    {
// Код выполняющий некие действия...
// ........
 
// обновление прогрессбара
prgHandler.sendMessage(prgHandler.obtainMessage());
 
}
Собственно сам Handler:
Java
1
2
3
4
5
6
7
8
  prgHandler = new Handler()
        {
            @Override
            public void handleMessage(Message msg)
            {
                prbBAR.incrementProgressBy(1);                
            }
        };
ну запуск потока на исполнение в onClick кнопки:
Java
1
2
3
4
5
6
7
8
9
10
11
12
OnClickListener OnButtonStart =  new OnClickListener()
        {
            @Override
            public void onClick(View v) 
            {               
                if(myThread.getState() == Thread.State.NEW)
                    mThread.start(); // Здесь поток создаеЦа первый раз и все выполняеЦа отлично 
                else
                    myThread.run(); // здесь при повторном нажатии на кнопку поток уже запущен и 
                                          // просто выполняеЦа метод Run. код выполняеЦа правильно, но UI не обновляеЦа
            }
        };
в чем я ошибся и как это исправить?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru