Android Api demo系列(13) (App>Fragment>FragmentAlertDialog)

来源:互联网 发布:剑三眉间雪捏脸数据 编辑:程序博客网 时间:2024/06/05 00:29

App>Fragment>FragmentAlertDialog

后面几个系列主要讲Fragment的基本使用

如果当一个dialog的业务逻辑比较复杂的时候,可以使用DialogFragment这个控件。这个控件是fragment和dialog结合使用产生的。

 DialogFragment newFragment = MyAlertDialogFragment.newInstance(                R.string.alert_dialog_two_buttons_title);        newFragment.show(getFragmentManager(), "dialog");
显示还是使用show()方法

public static class MyAlertDialogFragment extends DialogFragment {        public static MyAlertDialogFragment newInstance(int title) {            MyAlertDialogFragment frag = new MyAlertDialogFragment();            Bundle args = new Bundle();            args.putInt("title", title);            frag.setArguments(args);            return frag;        }                @Override        public Dialog onCreateDialog(Bundle savedInstanceState) {            int title = getArguments().getInt("title");                        return new AlertDialog.Builder(getActivity())                    .setIcon(R.drawable.alert_dialog_icon)                    .setTitle(title)                    .setPositiveButton(R.string.alert_dialog_ok,                        new DialogInterface.OnClickListener() {                            public void onClick(DialogInterface dialog, int whichButton) {                                ((FragmentAlertDialog)getActivity()).doPositiveClick();                            }                        }                    )                    .setNegativeButton(R.string.alert_dialog_cancel,                        new DialogInterface.OnClickListener() {                            public void onClick(DialogInterface dialog, int whichButton) {                                ((FragmentAlertDialog)getActivity()).doNegativeClick();                            }                        }                    )                    .create();        }    }
毕竟是fragment,只是内部返回了一个AlertDialog。也可以和activity中的方法互相调用。




阅读全文
0 0
原创粉丝点击