2016-06-16 11 views
0

В моей работе я загружаю около восьми фрагментов из 8-го фрагмента, отображающего некоторые диалоговые окна предупреждений. После того, как этот сеанс истек, он перенаправил их на первый фрагмент без взаимодействия с пользователем. За это время диалоговое окно предупреждения не закрывается, которое создано из 8 фрагментов.Как закрыть диалоговое окно предупреждения явно?

+0

предоставьте соответствующий код ..... – Opiatefuchs

+0

@Opiatefuchs Я не пробовал какой-либо код, потому что не знаю, как это сделать явным. – Boopathi

ответ

0

Если вы используете диалоговое окно предупреждения так:

AlertDialog.Builder builder = new AlertDialog.Builder(Activity); 

вам нужно сохранить диалоговый экземпляр, который возвращает из метода шоу и вызвать освобождение от этого экземпляра.

AlertDialog dialog = builder.show(); 

//Use this anywhere to close 
dialog.dismiss(); 
0

В onPause() вашего 8-го фрагмента вы должны скрыть AlertDialog.

class XYZ extends Fragment{ 
    //Keep the reference to AlertDialog as a member variable in your Fragment 
    AlertDialog mDialog; 
    //other member declarations ... 

    @Override 
    public void onPause() { 
     // check if dialog is not null and is already showing 
     if(mDialog !=null && mDialog.isHowing()) 
      mDialog.hide(); 
     super.onPause(); 
} 

Примечания: Если ViewPager удаляет 8-фрагмент из памяти и некоторых действий, которые вы выполняете в вашем вСсылкидиалоговых свой 8-й фрагменте, то это вызвало бы исключение нулевого указателя.

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