Я использую упражнение с темой диалога, в которой я не ставлю ни положительные, ни отрицательные кнопки.Эта активность запускается при получении внешних уведомлений (Firebase).Когда я собираюсь закрыть диалоговое окно, для закрытия требуется два нажатия вне диалогового окна.Действительно:
- при первом нажатии диалоговое окно закрывается, но экран остается покрыт каким-то затенением пленки / глазури (это должна быть та же самая «тень», которая появляется, когда диалоговое окно открыто);
- при втором нажатии этот вид тени исчезает, поэтому я возвращаюсь к моему исходному графическому интерфейсу.
Что можно сделать, чтобы не нажимать дважды, отклоняя действия диалога одним нажатием?Есть ли способ избежать создания этой тени, покрывающей мой GUI, когда создается диалоговое действие?
Я думаю, что моя проблема отличается от той, что здесь: AlertDialog не закрывает, дважды нажимаетзакрыть .В этом последнем посте отмечается, что методы setPositiveButton () и setNegativeButton () имеют неявный вызов закрытия диалога, это не то, что я пытаюсь выяснить.Я просто получаю уведомление, это уведомление превращается в действие с темой диалога, и чтобы закрыть его, мне нужно два нажатия, в то время как я хотел бы иметь только одно нажатие, чтобы закрыть его.Это моя активность:
public class NotificationDialogActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
showDialog(this, intent);
}
private void showDialog(Context context, @NonNull Intent intent) {
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle(intent.getStringExtra("title"));
builder.setMessage(intent.getStringExtra("text"));
builder.create().show();
}
}