今天主要学习了监听事件的是实现方法,就是说,做了某些动作后,怎么监听这个动作并作出相应反应。
方法主要有三种:
1.匿名内部类的方法
2.独立类的方法
3.类似实现接口的方法
以下分别分析:
1.匿名内部类的方法
就是使用innerClass的方式创建监听事件
步骤如下:
1)创建一个button,在xml中拖入一个button即可
2)在源程序中对button进行初始化
就是,先创建一个button btn,然后使用findViewById找到你之前的那个button进行关联,此时请注意findViewById返回值为View,所以此处我们将他转换为Button(Button为View子类)
3)通过setOnClickListener设置监听
2.通过独立类的方式
1)创建一个button,在xml中拖入一个button即可
2)在源程序中对button进行初始化
3)创建一个外部类,implement OnClickListener的接口
这里我对这个类做的统一操作是将字体颜色转化成白色
4)像实现匿名类那样实现独立类
这里需要注意,在OnClick方法中有一句Super.onClick(arg0);
这一句的意思是调用父类的onClick方法,而这里的父类就是MyOnClickListener,所以在执行过程中,会先调用父类的方法将文本颜色变为白色,然后改编文本内容
所以这里,我们就可以发现独立类的优势,他可以将共同的操作写入父类,特殊的操作在调用时编写,减少代码量
3.接口方式
1)创建一个button,在xml中拖入一个button即可
2)在源程序中对button进行初始化
3)对主类implements OnClickListener
此时会自动生成一个用以实现接口的方法onClick
4)类似,使用this指针来调用这个方法
btn.setOnClickListener(this);
相比之下,这种方法最简单,但是当你要实现的接口很多时,主类名字太长,太丑
以上