我正在尝试在Android中使用对话框。在这个过程中,我遇到了如下代码行:
alertDialogBuilder
.setMessage("Click yes to exit!")
.setCancelable(false)
.setPositiveButton("Yes",new...
这个符号对我来说有点奇怪,作为一个老C ++程序员。这是一样的,
alertDialogBuilder.setMessage("Click yes to exit!");
alertDialogBuilder.setCancelable(false);
alertDialogBuilder.setPositiveButton("Yes",new...
如果是这样,这种符号是Java的一部分还是Android编程独有的?这种表示法(或方法)的名称是什么?
答案 0 :(得分:3)
这个习语称为method chaining,并不是特定于Java或Android。诀窍是使返回void的方法返回对this
的引用,允许对同一对象进行长链方法调用。
这个习惯用法在builder pattern中使用非常有用,就像你的例子一样。在设计fluent interfaces时,它也是一个构建块。
答案 1 :(得分:1)
你也可以用C ++做同样的事情,只返回同一个对象(这个指针)。 所以最终你在返回这个指针时调用next函数。
它在Builder Design Pattern中使用!
答案 2 :(得分:1)
实际上代码是:
alertDialogBuilder.setMessage("Click yes to exit!").setCancelable(false).setPositiveButton("Yes",new...
也许格式让你好奇。如您所见,并且正如其他答案所述,setMessage()
显然会返回alertDialogBuilder
,从而可以在其上调用另一种方法。