注册 登录
编程论坛 JAVA论坛

该怎么理解android中java代码setOnClickListerner()的语法结构?

notbad301 发布于 2018-03-10 15:23, 3223 次点击
在JAVA GUI编程时,如果要为某个button设置监听器,可以先在开头引入import java.awt.event.*; 在写类名的时候implements ActionListener这个接口,构造函数里给button加上监听器,然后重写public void actionPerformed(ActionEvent e){ }这个方法就可以了

但在android编程时,如果开头不声明implements什么接口,直接
button1.setOnClickListener(new Button.OnClickListener(){
@Override
public void OnClick(View v)
});
的话,也可以给button加上监听器。

这个setOnClickListener后面的部分属于一个什么语法结构呢?new Button 是什么?再接.OnClickListener是什么用法?

老司机能帮讲解一下吗?谢谢啦
6 回复
#2
notbad3012018-03-10 15:35
少写了一个反括号,应该是
button1.setOnClickListener(new Button.OnClickListener(){
@Override
public void OnClick(View v){

}});
#3
疯狂的小a2018-03-10 16:06
new 出来的肯定是一个对象,对象继承了父类的抽象方法,必须重写.
#4
notbad3012018-03-10 18:25
谢谢您的回答。
button1.setOnClickListener 后面 从(开始,到)结束,括号内加的就是一个方法,可以这么理解么?它如果是继承了某个类,这个类是一个接口么?
#5
疯狂的小a2018-03-10 19:21
回复 4楼 notbad301
只有接口才有抽象方法,接口也是一种特殊的类
#6
notbad3012018-03-10 22:26
请问这里是一个接口么?如果是的话,但开头类的那里并没有写implements + 某个接口呀
#7
疯狂的小a2018-03-10 22:39
你的代码完整的贴过来看看,这个不好跟你说
1