setCancelable AlertDialog (ложь) метод, не работающий

Я создал AlertDialog, который хорошо работает. Это исчезает, если я нажимаю:
1) кнопка клавиатуры Escape или
2) кнопка "Назад" с помощью мыши
Чтобы заставить его остаться сфокусированным даже на вышеупомянутых установленных условиях, я добавил '.setCancelable (ложный)' оператор при создании. Но, я все еще вижу диалоговое исчезновение. Где проблема? Помогите.

Код добавляется:

return new AlertDialog.Builder(getActivity())
                .setIcon(R.drawable.alert_dialog_icon)
                .setTitle(title)
                .setCancelable(false)
                .setPositiveButton(R.string.alert_dialog_ok,
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int whichButton) {
                            ((FragmentAlertDialog)getActivity()).doPositiveClick();
                        }
                    }
                )
                .setNegativeButton(R.string.alert_dialog_cancel,
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int whichButton) {
                            ((FragmentAlertDialog)getActivity()).doNegativeClick();
                        }
                    }
                )
                .create();


ENV: Android 4.0 на профессионале XP.

61
задан 18 January 2012 в 11:04

2 ответа

Самый простой способ реализовать "setCancelable" состоит в том, чтобы реализовать то же при вызове диалогового окна в действии; Тот путь, не непосредственно в диалоговом классе.

 Dialog myDialog = new Dialog();
        myDialog.setCancelable( false );
        myDialog.show( getSupportFragmentManager(),"dialog" );
        return true;
1
ответ дан 31 October 2019 в 15:21

В Kotlin для того, чтобы сделать диалоговый non-dismissible

dialog.isCancelable =false
0
ответ дан 31 October 2019 в 15:21

Другие вопросы по тегам:

Похожие вопросы: