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

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

匿名类:

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

下面看看这个代码:

//实现自己的Viewpublic  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(){                 //实现单击事件处理接口             }         });    }}

 

更多相关文章

  1. android adapter的体系
  2. Android(安卓)InputMethod设置
  3. Android(安卓)ANR 问题第二弹------Input事件是如何超时导致ANR
  4. 关于Android回调的理解
  5. 浅析Android中MVP及Demo
  6. 事件处理机制之基于监听的事件处理机制
  7. launcher源码分析
  8. Android输入系统(一)输入事件传递流程和InputManagerService的诞生
  9. android studio 使用AIDL实现IPC

随机推荐

  1. Android 滑动效果入门篇(一)—— ViewFlipp
  2. androidUI设计之旅 ----布局文件属性解析
  3. 8 Android平台开发-WIFI 驱动移植 -- 详
  4. Android的通知栏点击后无反应解决办法
  5. Android切近实战(五)
  6. Android 调试桥
  7. Windows环境下Android Studio系列3—简单
  8. Android缩放图片Bitmap、Drawable
  9. Android 乱七八糟
  10. android 接收监听开机广播