2013-08-09 10 views
0

ProgressDialog отлично подходят для блокировки взаимодействия с пользовательским интерфейсом, однако ProgressDialog «уволен», когда пользователь нажимает кнопку «Назад» или нажимает за пределами ProgressDialog.Знайте, когда скрыт ProgressDialog.

Я показываю это, когда я извлекаю данные из Интернета, и как только ProgressDialog больше не виден, я также хотел бы прекратить извлечение файлов.

Вот нам, что я пробовал:

 pDialog = new ProgressDialog(getActivity()){ 
      @Override 
      public void onStop(){ 
       super.onStop(); 
       FeedProcessor.processingMustStop(); // stop fetching the RSS feeds 
      } 
     }; 

Однако, это не работает.
Пожалуйста, предложить решение

+0

Вы хотите скрыть диалог или отменить его. вы можете использовать 'isShowing()' return true, если в диалоговом окне отображается – Raghunandan

+0

@Raghunandan, возможно, я должен переопределить 'hide()' –

+0

или просто посмотреть ответ ниже. Но я запутался в том, что ты хотел уволить или спрятаться? – Raghunandan

ответ

2

Если вы хотите, чтобы обработать случай, когда Dialog уволен, вы должны использовать DialogInterface.OnDismissListener.

pDialog.setOnDismissListener(new DialogInterface.OnDismissListener(){ 
    void onDismiss(DialogInterface dialog){ 
     //Do your stuff 
    } 
}); 
+0

Не работает :(какой метод вызывается, когда пользователь щелкает за пределами ProgressDialog? –

+0

Событие «отменить». Если вы хотите снимать только события отмены, используйте ['DialogInterface.OnCancelListener'] (http: // developer.android.com/reference/android/content/DialogInterface.OnCancelListener.html) и ['setOnCancelListener'] (http://developer.android.com/reference/android/app/Dialog.html#setOnCancelListener (android. content.DialogInterface.OnCancelListener)), как указано выше. Однако слушатель отклонения должен учитывать все события, которые приводят к увольнению ['Dialog'] (http://developer.android.com/reference/android/app /Dialog.html). – Rajesh

+0

@LittleChild 'reject()' я думаю. Http://developer.android.com/reference/android/app/Dialog.html#dismiss(). Вы можете использовать 'isShowing()' возвращает true, если его shwoing. 'hide()' Скрыть диалог, но не отклоняйте его. – Raghunandan

Смежные вопросы