Button重写onClick两种方式

实现接口和匿名内部类

  下午没课,自己又继续安卓的学习,照着书上做了一个left碎片Button点击后动态加载right碎片布局的Test,准备自己再继续做一个单击左碎片的button1 加载右碎片布局,单击右碎片的button2 加载左碎片布局,发现 代码运行不了,改了好久,后来把增加的代码删的差不多了,后来发现 将右碎片的button2的实例声明 注释掉,运行成功。

  在这之间,笔者还想过 会不会是 使用了 实现

implements View.OnClickListener

接口的 onClick方法 不能用于多个按钮呢?

这里 再讲一下,onClick的两种方法:

1. 使用匿名内部类的方式

2.使用 实现 

View.OnClickListener接口的方式

因为onClick 是回调方法,所以传入button.setOnClickListener()方法中的参数是 一个实现了该接口并重写了onClick方法的类的实例,所以这种方法的使用 是button.setOnClickListener(this)  将this作为实力参数传入其中。

笔者测试了 两种按钮注册监听器方法 都可以使用,所以推翻了笔者之前的猜想。


原文地址:https://www.cnblogs.com/xykjlcx/p/6973313.html