9

这个 .notation (AlertDialog.Builder) 在类构造函数中的含义是什么?

public Dialog onCreateDialog(Bundle savedInstanceState) {

    return new AlertDialog.Builder(getActivity())
        .setTitle(R.string.date_picker_title)
        .setPositiveButton(android.R.string.ok, null)
        .create();

}

这是否意味着 Builder 类是在 AlertDialog 类中定义的?或者 Builder 是一种方法,但它的第一个字母是大写的,所以我很困惑。

4

5 回答 5

13

这种模式称为方法链

Builder 是 AlertDialog 的一个静态内部类。

Builder 中的每个方法都返回一个 Builder(通常是“this”)而不是 void。

于 2013-09-26T14:36:27.077 回答
2

这意味着Builder是AlertDialog类中的一个静态嵌套类,即

class AlertDialog {

   static class Builder {
..
于 2013-09-26T14:36:29.040 回答
0

Builder是类的静态内部AlertDialog类。

我建议您阅读有关嵌套类的使用和实用性的这篇文章

于 2013-09-26T14:36:20.240 回答
0

查看文档

Builder是类中定义的静态AlertDialog类。您正在调用它的构造函数。

于 2013-09-26T14:36:28.287 回答
0

这是Builder 设计模式

您在代码中执行的操作:

  • 创建 Builder 类的实例 -new AlertDialog.Builder(getActivity())
  • 设置其属性调用setTitlesetPositiveButton
  • 通过使用 Builder 的属性AlertDialog调用方法来创建实例。create()

构建器模式是一种创建设计模式,这意味着它解决了与对象创建相关的问题。Java中的构造函数用于创建对象,并且可以获取创建对象所需的参数。当可以使用大量参数创建对象时,问题就开始了,其中一些可能是强制性的,而另一些可能是可选的。当构造函数中所需的参数数量超过可管理的数量(通常为 4 或最多 5 个)时,应使用 Builder 设计模式。

于 2013-09-26T14:40:57.340 回答