Android 常用的三种点击事件,说是三种其实本质都是一样的,详解如下:
1. 匿名内部类
object.setOnClickLinstener(new OnClickListener(){
@Override
public void onClick(View org0){
...
}
});
实例:
//不仅button有点击事件的方法,大部分View
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//写点击后的相应
}
});
2.外部类
object.stOnClickListener(new myOnClick);
class myOnClick implements OnClickListener{
@Override
public void onClick(View v){
...
}
}
实例:
//设置点击事件
button1.stOnClickListener(new myOnClick);
class myOnClick implements OnClickListener{
@Override
public void onClick(View v){
//点击后要做的事情
}
}
3.实现接口
public class MainActicity extends Activity implement OnClickLinster{
@Override
public void onClick(View v){
...
}
object.setOnClickListener(this)
}
实例:
public class MainActicity extends Activity implement OnClickLinster{
@Override
public void onClick(View v){
//写点击后需要执行的方法
}
//设置监听器
button1.setOnClickListener(this)
}
知其然,思其所以然
以上三种点击事件的设置有个共同点,这也是许多android控件各种操作的共性(大同小异)
1.重写 onClickListenter(接口)的 onClick() 方法
当然这个方法是提前设置好的
2. 设置监听器,通过调用控件的对象setOnclickListener(onClickListener),传入onClickListener对象
3. 所以会有三种方式,
(1). 匿名内部类,很方便,通过new一个匿名内部类重写onClick()传入即可
(2).新建一个类,看似麻烦,再批量处理的时候很实用,即多处调用只写一次,减少了代码的冗余,提高代码利用率(组间重用思想)
(3).使用自身类实现接口,优点就是相对来说方便点,能不用不用