2015-07-31 2 views
0
mSomeFragment = new SomeFragment(); 
mSomeFragment.show(getFragmentManager(), "some"); 

Фрагмент показывает хорошо.DialogFragment не отображается, если установлен onDismiss

mSomeFragment = new SomeFragment(); 
mSomeFragment.show(getFragmentManager(), "some"); 

mSomeFragment.onDismiss(new DialogInterface() { 

    @Override 
    public void cancel() { 
      // 
    } 

    @Override 
    public void dismiss() { 
      // 
    } 
}); 

Но когда я установил onDismiss, это не работает (фрагмент не показывает). Я хочу сделать некоторые операции, когда диалог отклоняется. Не могли бы вы рассказать мне, почему?

ответ

1

Вызов onDismiss фактически вызывает этот код

if (mDialog != null) { 
     mDialog.dismiss(); 
     mDialog = null; 
    } 

, которая закрывает диалог. Если вы хотите прослушать события в диалоговом окне, используйте onOptionsItemSelected()

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