Пользовательский диалог с использованием DialogFragment

Недавно я пытался преобразовать приложение, использующее ProgressDialog, которое расширяет DialogFragment, а не Dialog.

Как ты можешь

  1. Создайте пользовательский класс диалога, расширяющий DialogFragment
  2. Затем загрузите диалоговое окно, вызвав этот класс из Activity

Могу ли я увидеть супер базовый пример? Какие методы переопределить? А что же конструктор?

Вот что я сейчас делаю (по-старому):

private MyProgressDialog progressDialog = new MyProgressDialog(
                    getActivity());
progressdialog.show();

person TheLettuceMaster    schedule 19.10.2012    source источник


Ответы (1)


Итак, вам нужен фрагмент диалогового окна прогресса?

Это на самом деле очень просто. DialogFragments — это просто фрагменты, которые окружают диалог, поэтому вам просто нужно создать свой диалог, как обычно, в методе onCreateDialog DialogFragment.

e.g.

class ProgressDialogFragment extends DialogFragment{
    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        ProgressDialog dialog = new ProgressDialog(getActivity());
        dialog.setMessage("Loading");
        return dialog;
    }
}

И чтобы показать DialogFragment:

mButton = (Button)getView().findViewById(R.id.button1);
mButton.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        new ProgressDialogFragment().show(getFragmentManager(), "MyProgressDialog");
    }
});
person athor    schedule 19.10.2012