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

Работа с потоками - Android

Восстановить пароль Регистрация
 
Dejseresu
0 / 0 / 0
Регистрация: 18.01.2016
Сообщений: 7
21.04.2016, 17:11     Работа с потоками #1
Программа: парсер, по нажатию на кнопку, она начинает свою работу (конечно же в отдельном потоке). Получив данные с сайта, нам нужно эти данные вывести на экран. Сейчас выводится по нажатию на другу кнопку.
Проблема такова, не могу понять, как сделать, чтобы при завершении парса, значения выводились сразу?

Запуск парса:
Java
1
2
3
4
5
6
7
8
9
10
    public void LoadInf(View view) {
        ParserThread = new Thread(StartParse);
        ParserThread.start();
    }
 
    private Runnable StartParse = new Runnable() {
        public void run() {
            StartParse();
        }
    };
Вывод значений:
Java
1
2
3
public void ShowInf(){
   //Код для вывода
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2016, 17:11     Работа с потоками
Посмотрите здесь:

Не могу разобраться с потоками Android
Android Работа с потоками при переключении Activity
Android Работа с потоками (AsyncTask)
Android Синхронизация между потоками
Android Передача данных между потоками

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dajver
 Аватар для dajver
406 / 270 / 18
Регистрация: 18.09.2010
Сообщений: 1,106
21.04.2016, 22:19     Работа с потоками #2
Советую использовать AsyncTask, там есть метод doInBackground который выполняет код в отдельном потоке, по завершению будет вызываться метод onPostExecute с результатом того что вернул ваш код, и в нем можно как раз показывать...

http://startandroid.ru/ru/uroki/vse-...yj-primer.html

вот пример
ILNAR_93
Android
212 / 212 / 21
Регистрация: 19.01.2013
Сообщений: 1,522
Записей в блоге: 2
22.04.2016, 09:04     Работа с потоками #3
Можно так
Java
1
2
3
4
5
6
7
8
9
public void ShowInf(){
// Context - контекст активити
Context.runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                           //Код для вывода
                    }
                });
}
CoolMind
411 / 394 / 65
Регистрация: 06.10.2012
Сообщений: 1,701
22.04.2016, 10:28     Работа с потоками #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Dejseresu, там всё элементарно.
Java
1
2
3
4
5
6
7
8
9
10
11
new Thread(new Runnable() {
        public void run() {
            StartParse();
            runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                           ShowInf();
                    }
                });
        }
    }).start();
Классы называйте с заглавной буквы, методы - с прописной.
Dejseresu
0 / 0 / 0
Регистрация: 18.01.2016
Сообщений: 7
24.04.2016, 23:11  [ТС]     Работа с потоками #5
Спасибо большое
Yandex
Объявления
24.04.2016, 23:11     Работа с потоками
Ответ Создать тему
Опции темы

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