android中的监听,Android开发中的View事件的监听机制

在开发过程中,我们常常根据实际的需要绘制自己的应用组件,那么定制自己的监听事件,及相应的处理方法是必要的。我们都知道Android中,事件的监听是基于回调机制的,比如常用的OnClick事件,你了解它的运行机制吗?如果你已经了解了,那么就不必看了,如果没有,这篇文章会给你给你很大的益处。

自定义的View组建,一般的情况是继承自View类,实现其中的onDraw(canvas)方法,然后在其中绘制自己的组件。但是对于组件的监听事件该怎么办呢?监听事件的实现是用匿名类实现。下面先了解一下什么是匿名类:

从实现的功能来讲是一样的,但是使用匿名更加简洁方便,形式上有点像new一个接口或类的感觉,但是我们必须记住接口是不可以new出来的(实例化),我们要在内部重写需要的接口的方法,这样就new出了一个实现接口

方法的对象,但是这个对象的类名不可见,所以叫做匿名类。

下面看看这个代码:

//实现自己的View

public MyView extends View{

OnCLickListener listener=null; //监听器类对象

//监听器类接口

public static abstract interface OnClickListener{

public abstract void onClick(); //单击事件处理接口

}

public

MyView(Context context){

}

public void

onDraw(Canvas canvas){

}

//实现这个View的监听器

public void setOnClickListener(OnClickListener listener){

this.listener = listener; //引用监听器类对象,在这里可以使用监听器类的对象

}

}

//下面是测试类

public class MyActivity extends Activity{

public void

onCreate(Bundle b){

super.onCreate(b);

MyView mv = new

MyView(this); //实例化View对象

mv.setOnClickListener(new

MyView.OnClickListener(){

public void onClick(){

//实现单击事件处理接口

}

});

}

}

红色标记的部分都是重点,希望多多理解。这只是一个简单的例子,其它的还应该多多理解学习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值