监听器的三种实现方式
一、匿名内部类实现
1.首先设置成员变量:privateButton button;
2.通过id找到button:button = (Button)findViewById(R.id.button1)此button1与布局文件中button的id一致
3.绑定监听器:
button.setOnClickListener(newOnClickListener(){
@Override
Public void onClick(View arg0){
//在当前onClick方法中监听点击Button的动作
System.out.println(“Button被点击了”);
}
});
二、外部类实现
前两步与一一致
这句话的作用就是在app页面显示“bt1要执行的逻辑”
这句话就是在后台日志中打印“父类的onclick事件”这句话
MyOnClickListener可以和当前类写在一个页面中,也可以单独写在一个另外的页面中,这里是写在一个页面中的情况。
用外部类实现监听器的好处:可以让所有绑定这个监听器的控件都有公共的动作,而不必像上面匿名内部类里每一个都要加上这个动作的语句,这样就避免了代码的冗余。
三、接口方式实现
前面两步跟一一致,然后让类实现OnClickListener的接口,主要是重写OnClick方法,最后在绑定时只需写成:button.setOnClickListener(this);即可。
总结:其实无论是那一种方式,或者那一类监听器,实现的基本流程是一样的,共分为4步:
1.初始化控件
2.编写监听器类
3.实例化监听器
4.将实例化的监听器绑定在控件上