Как избежать отклонения DialogFragment при нажатии кнопки «Поиск» - Android - PullRequest
12 голосов
/ 01 июня 2011

После настройки:

MyDialogFragment fragment = new MyDialogFragment();
fragment .setCancelable(false);

оно все еще закрывается после нажатия на кнопку поиска. и я не нашел вариант, как в деятельности переопределить onKeyDown ();

Мне нужно создать диалоговое окно, которое будет отображаться до тех пор, пока не будет нажата моя кнопка «отклонить».

Ответы [ 2 ]

8 голосов
/ 21 ноября 2011

Я только что нашел ответ. После того, как DialogFragment был создан, мы можем получить его диалог

Dialog dialog = getDialog();

if( null!= dialog)
{
   dialog.setOnKeyListener(new OnKeyListener()
{

        @Override
    public boolean onKey ( DialogInterface dialog , int keyCode , KeyEvent event )
    {
        // disable search button action
        if (keyCode == KeyEvent.KEYCODE_SEARCH)
        {
            return true;
        }
        return false;
    }
});
}
0 голосов
/ 01 июня 2011

getFragmentManager().popBackStack();

Надеюсь, это поможет!

...