本文主要介绍如何为应用程序添加基于AlertDialog的对话框,使用DialogFragment呈现该对话框。
- 可以为对话框创建一个标题的string资源,在values/strings.xml中添加字符串str。
- 创建一个DialogFragment,选择android.support.v4.app.DialogFragment作为基类,并复写onCreateDialog方法。在屏幕上显示DialogFragment的时候,其托管activity的FragmentManager会调用该复写方法完成对话框的创建。可参考下面的代码。
- 和其它的fragment一样,DialogFragment实例也由托管activity的FragmentManager管理,调用DialogFragment的show方法: void . . . . .show( manager, tag);传入托管activity的FragmentManager参数,那么添加fragment的事务会自动创建并提交。
public Dialog onCreateDialog(Bundle savedInstanceState) { // 要在屏幕上显示DialogFragment时,托管activity的FragmentManager会调用该方法创建对话框实例 /* * 采用“流接口”的方式创建AlertDialog实例:首先通过传入上下文对象给AlertDialog.Builder类的构造方法 * 创建一个AlertDialog.Builder实例,开头的new就是起到了这个作用;创建出的AlertDialog.Builder实例紧 * 接着调用两个AlertDialog.Builder类的set方法配置对话框(如需要为PositiveButton添加响应代码,需实现 * DialogInterface.OnClickListener,并替换null);最后调用AlertDialog.Builder类的create方法创建AlertDialog * 实例。 */ return new AlertDialog.Builder(getActivity()) .setTitle(R.string.date_picker_title) .setPositiveButton(android.R.string.ok, null).create(); }