实际上setOnClickListener()是什么意思?当我给出一个上下文时,这是什么意思?

时间:2018-01-31 16:58:58

标签: android

Button b=new Button(this);
b.setOnClickListener(this) ;

任何人都可以告诉实际是setOnClickListener,它是接口还是类?如果它是一个接口,它包含什么抽象方法?为什么我的MainActivity正在实施onClick方法?

1 个答案:

答案 0 :(得分:1)

正如您在David Wasser上发布的评论链接中所看到的,View.OnClickListener是一个包含名为onClick(View v)的抽象方法的界面。

setOnClickListener实际上是某些类(如Buttons)具有的方法。当您致电b.setOnClickListener(this);时,您说按钮bOnClickListenet作为对象this(这应该是实现接口View.OnClickListener的类及其方法onClick(View v)。当按下按钮b时,来自onClick的{​​{1}}的方法将执行...

我希望我很清楚。如果您还需要有关类和接口的任何其他信息,可以查看Oracle的文档here