关于OnClickListener的问题

OnClickListener是一个接口,那么
new OnClickListener(){
@Override
public void onClick(){...}
}
是不是这个接口的实例呢?如果是的话,为什么不是通过implement来实现,比如
public A extends xxx implements OnClicklistener{
public void onClick(){...}
}

是实现,不是实例,这个还是要区分一下的。

new OnClickListener(),这不就是在创建一个接口实例吗,你可以自己写个类,继承自该接口,也可以用匿名类

那是内部匿名类,有时候只用一次,不需要这个的名字。

楼主你说的两种都是可行的,并没有对错之分

OnClickListener确实是一个接口
new OnClickListener(){
@Override
public void onClick(){...}
}
这种方式是新建一个内部类来实现OnClickListener接口
而你所说的使用implement来实现也是可以的,这是两种实现监听的实现方法,效果都是一样的
至于用哪种看个人需求:
第一种便于单个控件的监听
第二种便于实现多个控件监听
具体可以参考一下这篇文章:
http://blog.csdn.net/fangzhengshu/article/details/8102969