Я создаю класс под названием «Dailog» для создания диалогового окна с предупреждением, у которого есть собственный метод dismiss () для закрытия диалогового окна. а затем использовать его объект на многих экранах, где мне нужно показать диалоговое окно оповещения.
В своем вызывающем классе Activity я создаю экземпляр класса Dailog, а затем вызываю метод, который выполняет некоторые сетевые операции (которые не являются асинхронными c задача), а затем, когда сетевая задача завершена, я закрываю объект диалога. , Мне нужно подождать на том же экране, пока не завершится работа сети, но с диалогом, показывающим, что что-то происходит.
Во время отладки я вижу, что этот объект диалога не является нулевым. Нет исключений во время этого выполнения, но диалоговое окно с предупреждением никогда не появляется
public class Dialog {
private AlertDialog dialog ;
private AlertDialog.Builder builder;
public Dialog(Activity activity , String Message , String titleMsg) {
builder = new AlertDialog.Builder(activity);
builder.setMessage(Message);
builder.setTitle(titleMsg);
builder.setCancelable(false);
builder.setIcon(R.drawable.logoxl);
dialog = builder.create();
dialog.show();
}
public void dismiss(){
this.dialog.dismiss();
}
}
// my activity method(openMenu) on button click where I am calling this
public void OpenMenu(View view){
Dialog progress = new Dialog(this , "We are fetching today's menu...Please Wait" , "Biji's Kitchen");
try {
Data fetcheddata = new Data(this);
fetcheddata.getMenu();
}catch(Exception e){
e.printStackTrace();
}
progress.dismiss();
}