Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android AlertDialog和AlertDialog.Builder之间有什么区别?_Android_Dialog_Android Alertdialog_Builder_Difference - Fatal编程技术网

Android AlertDialog和AlertDialog.Builder之间有什么区别?

Android AlertDialog和AlertDialog.Builder之间有什么区别?,android,dialog,android-alertdialog,builder,difference,Android,Dialog,Android Alertdialog,Builder,Difference,哪一个最适合创建警报对话框?有什么区别 AlertDialog.Builder builder = new AlertDialog.Builder(this.getContext()); 或 基本上,AlertDialog是通过designbuilder模式实现的 DesignBuilder模式提供了在任何类中添加动态API方法的灵活性,而不是从中更改任何现有代码。唯一的缺点是它不应该直接创建该类的对象。它应该始终为此准备Builder类 所以,如果您尝试创建AlertDialog对象,例如新

哪一个最适合创建警报对话框?有什么区别

AlertDialog.Builder builder = new AlertDialog.Builder(this.getContext());


基本上,
AlertDialog
是通过designbuilder模式实现的

DesignBuilder模式提供了在任何类中添加动态API方法的灵活性,而不是从中更改任何现有代码。唯一的缺点是它不应该直接创建该类的对象。它应该始终为此准备Builder类

所以,如果您尝试创建
AlertDialog
对象,例如
新建AlertDialog()
,您将无法创建生成器模式


有关更多详细信息,请参阅。

最好编写
AlertDialog.Builder
AlertDialog AlertDialog=..
。第一个只是一个生成器(实用程序),第二个是对话框。
AlertDialog builder = new AlertDialog.Builder(this.getContext()).create();