Зачем использовать DialogFragment?

В основном диалоги инактивируют активность в фоновом режиме. Таким образом, DialogFragment делает то же самое с повышенной сложностью. Итак, зачем идти на DialogFragment, хотя доступны различные подклассы Dialog.

Ответ 1

Fragments используются в вашей деятельности, но для представления фрагмента в виде диалога (окна) с использованием FragmentTransaction и последующих действий с жизненным циклом фрагмента необходимо использовать DialogFragment. Однако вы можете использовать простой Dialog, но тогда он не имеет ничего общего с жизненным циклом фрагмента.

Согласно документам google:

Диалоговый фрагмент можно по-прежнему необязательно использовать как обычный фрагмент, если желательно. Это полезно, если у вас есть фрагмент, который в некоторых случаях должен отображаться как диалог и другие, встроенные в более широкий интерфейс.

Ответ 2

DialogFragment позволяет повторно использовать такую ​​часть диалога в вашем приложении. Так же, как фрагменты делают это для ваших макетов.

Здесь у вас есть хорошая статья о DialogFragment: http://android-developers.blogspot.fr/2012/05/using-dialogfragments.html

Ответ 3

когда u имеет динамический макет в вашем приложении Android с использованием фрагмента уже, тогда вам нужно использовать его с/в вашем диалоговом окне нажатием кнопки действий или другим щелчком мыши, поэтому на этот раз dialogFragment более удобен, чем обычный диалог.

Ответ 4

FragmentDialog - это фрагмент, который может быть:

  • используется как фрагмент, например:

    FragmentTransaction trans = getSupportFragmentManager().beginTransaction();
    trans.add(R.id.navigation_fragment, mFriendFragment);
    trans.commit();
    
  • используется как диалог, например:

    FragmentManager fm = getFragmentManager();
    UnsubscribeTabletFragment fragment = new UnsubscribeTabletFragment();
    fragment.show(fm, "dialog");
    

Итак, если у вас есть фрагмент, а фрагмент иногда работает как фрагмент, иногда работает как диалог, тогда вы должны использовать его.