0%

AlertDialog 不点按钮关闭对话框(用代码关闭)方法

之前创建AlertDialog一直用AlertDialog.Builder dialog=new AlertDialog.Builder(Context context),结果发现如果没有添加按钮,要关闭这个对话框就有点困难。AlertDialog继承自Dialog类,但是这个创建的dialog却没有dismiss方法.其实是我理解错了,看了开发文档,发现AlertDialog.Builder对象不是AlertDialog对象,AlertDialog.Builder只是一个创建AlertDialog的构建工具。但是AlertDialog的构造函数是protected,我们无法直接实例化一个AlertDialog对象。 还好,AlertDialog.Builder提供了create()方法,可以构建一个AlertDialog对象,于是我们可以使用dismiss()方法在代码中关掉AlertDialog.只要把第一句创建AlertDialog的代码修改一下,就可以直接使用,因为AlertDialog.Builder和AlertDialog的常用方法,功能和参数都是一样的。

AlertDialog dialog = new AlertDialog.Builder(context).create();

关闭对话框:

dialog.dimiss();