ProgressDialog.dismiss () не работает

Пожалуйста, проверьте следующий пример кода. Отображаются сообщения тоста, но прогрессдиалог никогда не скрывается. Зачем?

import android.app.Activity; import android.app.ProgressDialog; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.widget.Toast; public class LoadExamActivity extends Activity implements Runnable{ ProgressDialog pd; Handler Finished = new Handler(){ @Override public void handleMessage(Message msg){ Toast.makeText(getApplicationContext(), "DONE!", Toast.LENGTH_SHORT).show(); pd.dismiss(); } }; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.exam); Toast.makeText(this, "START!", Toast.LENGTH_SHORT).show(); pd = new ProgressDialog(this); pd.show(this, "Waiting...", "Please wait five seconds..."); Thread th = new Thread(this); th.start(); } public void run() { //To change body of implemented methods use File | Settings | File Templates. for (int i = 0; i < 5; i++) { try { Thread.sleep(1000); }catch(Exception e){} } Finished.sendEmptyMessage(0); } } 

Через пять секунд отображается сообщение «DONE», но progressdialog не отклоняется, и даже если я поставлю pd.dismiss () прямо ниже thr pd.show (), я тоже не буду отклонять progressdialog, и я не знаю, почему это происходит И это сводит меня с ума!

Вы не используете правильный диалог прогресса. Вы заметите, что IDE показывает аккуратный маленький предупреждающий знак рядом с вашей pd.show(...) .

Что вы делаете

  1. Создайте диалог (невидимый, нерелевантный), используя new ProgressDialog()

  2. Создайте новый диалог прогресса с нужным текстом, используя pd.Show() , не сохраняя ссылку на него.

  3. Отключите первый диалог. Диалог из (2) остается.

Если вы замените свой код на:

 //pd = new ProgressDialog(this); pd = ProgressDialog.show(this, "Waiting...", "Please wait five seconds..."); 

Он должен работать нормально.

Intereting Posts
Словарь по умолчанию отсутствует в AutoCompleteTextView / MultiAutoCompleteTextView Обновление бесплатных платных приложений для Android без оставления двух значков Как получить данные из класса курсора Программная клавиатура Android переключает между цифровым и буквенным программным обеспечением Мне нужно протестировать мое приложение на разных виртуальных устройствах ? андроид: атр / selectableItemBackground Ошибка при запуске Android-проекта в Intellij IDEA Android-микрофон не работает, когда он используется другим приложением в фоновом режиме Не удается прочитать свойство «getPicture» неопределенной ионной камеры Как использовать z-index в android Как выцветший верхний одиночный символ в TextView Searchview в LinearLayout с помощью android.support.v7.widget.SearchView Получить значения EditText в ListView Как предотвратить дублирование элементов при прокрутке просмотра ресайклеров Исключить экран xLarge для версии Android SDK 2.1