2016-08-27 3 views
0

Я вызываю диалоговое окно через действие, когда происходит тревога. После подачи сигнала тревоги появляется диалоговое окно. Когда нажата кнопка «Назад», появляется другое диалоговое окно, которое преобразует имя приложения.Имя приложения появляется в отдельном окне

the dialog that appears when alarm goes of

The Dialog that appears with app name when back button is pressed, after the first dialog appears

Это намерение для тревоги:

Intent intent = new Intent(this, HydrateNotifier.class); 
PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(), 0, intent, 0); 

Это Dialog определение внутри OnCreate() в HydrateNotifier.class:

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this); 
    alertDialogBuilder.setTitle("Hydrate Time"); 
    alertDialogBuilder.setMessage("Enter the amount of water"); 
    alertDialogBuilder.setPositiveButton("Update", this); 
    AlertDialog alertDialog = alertDialogBuilder.create(); 
    alertDialog.show(); 
} 

Необходимость решения для:

  1. диалогового окна, которое появляется, когда сигнал идет о, исчезает при прикосновении за пределами ее границ. Пожалуйста, предоставьте логику, чтобы диалоговое окно оставалось.

2. При нажатии кнопки «Назад», когда появляется диалоговое окно, диалоговое окно закрывается, а другое окно отображается с именем приложения, как показано на изображении. Как это сделать?

Я установил в манифесте android:theme="@android:style/Theme.Holo.Dialog" класс, в котором определено диалоговое окно.

ответ

0
  1. Установка метода setCancelable в false в диалоговом окне Alert Dialog приведет к тому, что диалог сохранится, даже если пользователь закроет внешний диалог.

    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this); 
        alertDialogBuilder.setTitle("Hydrate Time"); 
        alertDialogBuilder.setMessage("Enter the amount of water"); 
        alertDialogBuilder.setCancelable(false); 
        alertDialogBuilder.setPositiveButton("Update", this); 
        AlertDialog alertDialog = alertDialogBuilder.create(); 
        alertDialog.show(); 
    } 
    
+0

Спасибо. Почему имя появляется в отдельном диалоговом окне? –

+0

Не уверен в этом. Есть ли у вас другой диалог, вызывающий ваш OnBackKeyPressed или любой другой метод? – fluffyBatman

+0

Можете ли вы также показать код, из которого вы вызываете этот alertdialog? – fluffyBatman

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