Персонализиран диалогов прозорец с помощта на 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