在Google Android 开发入门指南(第2版)
第75页,12.3实体对话框
--------------------------------------------
private void openOptionsDialog(){
new AlterDialog.Builder(Bmi.this)
.setTitle("关于Android BMI")
.setMessage("Android BMI Calc")
.show();
}---------------------------------------------请问为什么new 后面怎么可以这么用。。我是java初学者,不是很明白一般不是 "类名 对象名=new 类名(参数);" 吗怎么可以有这种new A().B().C() 这样的...
第75页,12.3实体对话框
--------------------------------------------
private void openOptionsDialog(){
new AlterDialog.Builder(Bmi.this)
.setTitle("关于Android BMI")
.setMessage("Android BMI Calc")
.show();
}---------------------------------------------请问为什么new 后面怎么可以这么用。。我是java初学者,不是很明白一般不是 "类名 对象名=new 类名(参数);" 吗怎么可以有这种new A().B().C() 这样的...
Java中的匿名对象
.setTitle("关于Android BMI")
.setMessage("Android BMI Calc")
.show();这句话的意思就是创建一个对话框 标题是 关于Android BMI 内容为 Android BMI Calc . show()就是显示在屏幕中。
有关对话框的详解我写过一个博客 欢迎大家阅读, 希望可以帮助到你喔 。。(*^__^*) 嘻嘻
http://blog.csdn.net/xys289187120/article/details/6601613
我想问的是new A().B().C() 可以连续两个" . "?
.setTitle("关于Android BMI")
.setMessage("Android BMI Calc")
.show();
第一,Builder是AlterDialog的静态内部类,所以new AlterDialog.Builder(Bmi.this)是new出一个AlterDialog的静态内部类Builder的对象。
其次,setTitle("关于Android BMI")、setMessage("Android BMI Calc")
这几个方法的返回值都是调用这个方法的对象本身,即return this.
其三,还需要调用creat()方法创建AlterDialog对象,才能调用AlterDialog的show()方法吧。AlterDialog主要用到Builder(建造者模式)设计模式,将对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。去看下源代码,你会更清楚。
.setTitle("关于Android BMI")返回的还是new AlterDialog.Builder(Bmi.this)对象本身。所以可以连着点方法。