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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Эмулятор, использование SDcard (импорт сертификата fiddler) http://www.cyberforum.ru/android-dev/thread936702.html
Приветствую! Задача такая - я просматриваю траффик идущий с эмулятора через локальный прокси fiddler. На эмуляторе я не могу зайти на многие сайты, использующие хттпс т.к. им нужен установленный серт fiddler. Приложения такие как google play store так же не работают по этой причине. Перерыл очень много статей на эту тематику. В статьях о том, как использовать fiddler2 + android sdk...
Программирование Android Старт на пути к android Всем привет. Только начал интересоваться программирование, знания нулевые. Цель - программирование для android (создание приложений). Знаю что для android пишут на Java. Вот тут собственно и возникают вопросы: с чего начать новичку? Самый первый шаг? Стоит ли сразу изучать 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 Runtime to terminate it in an unusual way. Please contact the application's support team for more information. Тащите, хоть за уши, токмо тащите!)))
Цвет 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 ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, names); lvMain.setOnItemSelectedListener(new OnItemSelectedListener(){ @Override public void...
Программирование Android MediaPlayer выбор из Raw ? Можно ли в MediaPlayer предоставить пользователю возможность выбрать треки из raw , как это сделать? или сделать возможность копировать музыку в отдельный каталог на SD ? Также может ктото знает как сделать чтоб музыка не прекращалась при переходе между окнами и проигрывалось несколько треков одновременно? подробнее

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

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

12.08.2013, 01:05. Просмотров 532. Ответов 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 не обновляеЦа
            }
        };
в чем я ошибся и как это исправить?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru