Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 06.12.2017
Сообщений: 15
1

Не отображается ProgressDialog\ProgressBar

10.03.2019, 00:35. Показов 1311. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день! Есть у меня старая программа, где используется ProgressDialog (знаю, что устарел, но и с ProgressBar такая же у меня проблема). До изменения в коде ProgressDialog отображался. Было так:

Java
1
2
3
4
5
6
7
8
9
pd = ProgressDialog.show(MainActivity.this, "", "Выполнение", true, false);
Thread t = new Thread(new Runnable() {
           public void run() {
               //Выполнение задачи.
               //Если успешное завершение,
               //то вызов функции, где окно ProgressDialog закрывается -  pd.dismiss();
            }
});
t.start();
После доработки (надо дождаться завершения других потоков) добавил к вышестоящему коду:

Java
1
2
3
4
5
try {
   t.join();
} catch (InterruptedException e) {
 
}
И теперь ProgressDialog не отображается. Вернее отображается, если убрать

Java
1
pd.dismiss();
Но теперь, по понятным причинам не закрывается.
Как правильно в такой конструкции сделать вызов ProgressDialog или ProgressBar?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.03.2019, 00:35
Ответы с готовыми решениями:

Label не показывает текст и ProgressBar не отображается
Label2.Caption := 'Поиск файлов'; // Текст над прогрессбаром //Sleep(1000); // Это пробовал, не...

ProgressDialog
public class Main_Activity extends Activity { private ProgressDialog pd; private...

Не показывается ProgressDialog
Пробую показать диалог пока идёт такое if (item.getItemId() == android.R.id.home ||...

Запрос http + ProgressDialog
подскажите пожалуйста как реализовать запрос к php серверу по протоколу http/https?, плюс, чтоб на...

7
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
10.03.2019, 08:11 2
Sergey__SS,
Цитата Сообщение от Sergey__SS Посмотреть сообщение
pd.dismiss();
его и закрывал. Потоки запускаются - отображай, заканчиваются - скрывай.
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
10.03.2019, 12:48 3
Управление элементами вью происходит в главном потоке.
0
0 / 0 / 0
Регистрация: 06.12.2017
Сообщений: 15
10.03.2019, 15:13  [ТС] 4
Да, казалось бы просто:

Java
1
2
3
ProgressDialog.show();
Thread.start();
ProgressDialog.dismiss();
или с ProgressBar:

Java
1
2
3
4
progressBar = (ProgressBar) findViewById(R.id.progressBar);
progressBar.setVisibility(ProgressBar.VISIBLE);
Thread.start();
progressBar.setVisibility(ProgressBar.INVISIBLE);
Всегда так делал, но стоило добавить Thread.join() - все, перестал отображаться. Я в ступоре, целый день просидел с этим. в качестве полумеры при запуске потока сделал:

Java
1
2
3
Toast.makeText(MainActivity.this,
                                "Выполнение",
                                Toast.LENGTH_LONG).show();
В программе есть другой поток, но без join - там все отлично работает.
0
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
10.03.2019, 16:49 5
Sergey__SS, что Thread делает?

Добавлено через 1 минуту
Sergey__SS, + про join() смотри тут объяснение: https://stackoverflow.com/ques... -code-mean
0
0 / 0 / 0
Регистрация: 06.12.2017
Сообщений: 15
10.03.2019, 17:25  [ТС] 6
В Thread'е выполняется копирование файла на сервер по FTP.
0
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
10.03.2019, 18:11 7
Sergey__SS, https://developer.android.com/... reads#java
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
10.03.2019, 19:10 8
Очевидно, что сначала выполняется dismiss, а потом уже завершается поток.
0
10.03.2019, 19:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.03.2019, 19:10
Помогаю со студенческими работами здесь

Async_Tasc появление ProgressDialog
При запуске Async Tasc в onPreExecute() создаётся и должен появится ProgressDialog. но он не...

Ожидание подключения к серверу (ProgressDialog)
Здравствуйте! Мне нужно, чтобы при переходе на MainActivity вылазил ProgressDialog (он проверяет...

ProgressDialog upload fpt server
Ребята помогите разобраться private class uploadFileTask extends AsyncTask<Void, Integer,...

Progressdialog при выполнении asynctask
Здравствуйте! Есть asynctask который отправляет запрос и после парсит страницу. Хотел добавить...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru