Android Api demo系列(13) (App>Fragment>FragmentAlertDialog)
2017-08-30 17:46
489 查看
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(); 4000 } } ) .create(); } }毕竟是fragment,只是内部返回了一个AlertDialog。也可以和activity中的方法互相调用。
相关文章推荐
- Android Api demo系列(15) (App>Fragment>FragmentAlertDialog高级使用)
- Android Api demo系列(二) (App>Activity>CustomDialog)
- Android Api demo系列(9) (App>Activity>SecureDialog)
- Android Api demo系列(16) (App>Fragment>Fragment Hide Show)
- Android Api demo系列(5) (App>Activity>finishAffinity)
- Android Api demo系列(6) (App>Activity>Presentation)
- Android Api demo系列(4) (App>Activity>DialogActivity)
- Android Api demo系列(8) (App>Activity>Reorder acitivities>>intent.flag)
- Android Api demo系列(3) (App>Activity>CustomTitle)
- Android Api demo系列(17) (App>Content>Assets)
- Android Api demo系列(11) (App>Alarm警报管理员)
- Android Api demo系列(10) (App>Activity>SetWallpaperActivity)
- Android Api demo系列(12) (App>Alert Dialogs)
- Android Api demo系列(一) (App>Activity>Animation)
- Call requires API level 11 (current min is 4): android.app.Fragment#<init>
- 【Exception】 java.lang.NoSuchMethodError: android.app.AlertDialog$Builder.setOnDismissListener
- Android-->Dialog/DialogFragment宽度高度修改/全屏,自定义样式
- Android API Guides 之 App Manifest(13) - <meta-data>
- Android Api demo系列(20) (Graphics>clipping)
- Android Api demo系列(24) (Graphics>shadow card drag)