Button b=new Button(this);
b.setOnClickListener(this) ;
任何人都可以告诉实际是setOnClickListener
,它是接口还是类?如果它是一个接口,它包含什么抽象方法?为什么我的MainActivity
正在实施onClick
方法?
答案 0 :(得分:1)
正如您在David Wasser上发布的评论链接中所看到的,View.OnClickListener
是一个包含名为onClick(View v)
的抽象方法的界面。
setOnClickListener
实际上是某些类(如Buttons
)具有的方法。当您致电b.setOnClickListener(this);
时,您说按钮b
将OnClickListenet
作为对象this
(这应该是实现接口View.OnClickListener
的类及其方法onClick(View v)
。当按下按钮b时,来自onClick
的{{1}}的方法将执行...
我希望我很清楚。如果您还需要有关类和接口的任何其他信息,可以查看Oracle的文档here。