为什么要使用AlertDialog.Builder类而不是AlertDialog直接可用的方法,例如,为什么要使用AlertDialog.Builder.setCancellable而不是AlertDialog.setCancellable?这肯定是冗余的情况吗?
AlertDialog.Builder
AlertDialog
AlertDialog.Builder.setCancellable
AlertDialog.setCancellable
oymdgrw71#
AlertDialog允许您在Activity/片段上方显示对话框。它通常用于提示用户进行交互(包括几个按钮)或通知某些内容。AlertDialog.Builder是AlertDialog的内部静态类,它允许您使用其方便的方法快速设置对话框。它就像AlertDialog的助手类。它用于调用链中的方法。
yyyllmsg2#
因为AlertDialog.setCancellable返回空值,AlertDialog.Builder.setCancellable返回一个AlertDialog.Builder。这意味着构建器允许您以更少的冗长代码链接一系列设置。
rsaldnfx3#
AlertDialog.Builder执行属性设置,例如setTitle()或setMessage(),并且 * 不显示 * 给用户。AlertDialog是 * 显示 * 那些 * 已经 * 在AlertDialog.Builder中设置的属性的程序。两者都有的目的,正如在某个地方提到的,是它允许设置单独作出的实际显示,这反过来又使事情方便。
setTitle()
setMessage()
8iwquhpp4#
我认为工厂的方法更方便。
3wabscal5#
构建在jqpublic answer之上,不仅仅是为了方便,构建器还可以让你确保对话框不会以意外或不适当的状态存在,一般来说,构建器可以让你获取收集值所需的所有代码,然后只在你准备好的时候示例化对象。
5条答案
按热度按时间oymdgrw71#
AlertDialog允许您在Activity/片段上方显示对话框。它通常用于提示用户进行交互(包括几个按钮)或通知某些内容。
AlertDialog.Builder是AlertDialog的内部静态类,它允许您使用其方便的方法快速设置对话框。它就像AlertDialog的助手类。它用于调用链中的方法。
yyyllmsg2#
因为
AlertDialog.setCancellable
返回空值,AlertDialog.Builder.setCancellable
返回一个AlertDialog.Builder
。这意味着构建器允许您以更少的冗长代码链接一系列设置。
rsaldnfx3#
AlertDialog.Builder
执行属性设置,例如setTitle()
或setMessage()
,并且 * 不显示 * 给用户。AlertDialog
是 * 显示 * 那些 * 已经 * 在AlertDialog.Builder
中设置的属性的程序。两者都有的目的,正如在某个地方提到的,是它允许设置单独作出的实际显示,这反过来又使事情方便。
8iwquhpp4#
我认为工厂的方法更方便。
3wabscal5#
构建在jqpublic answer之上,不仅仅是为了方便,构建器还可以让你确保对话框不会以意外或不适当的状态存在,一般来说,构建器可以让你获取收集值所需的所有代码,然后只在你准备好的时候示例化对象。