在开发过程中,我们常常根据实际的需要绘制自己的应用组件,那么定制自己的监听事件,及相应的处理方法是必要的。我们都知道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(){

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

}

});

}

}

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

转载http://blog.sina.com.cn/s/blog_8a86f4dd0101aidk.html

转载于:https://www.cnblogs.com/rookie-26/p/5265357.html

Android 开发中的View事件监听机制相关推荐

  1. vue中的v-on事件监听机制

    监听dom事件使用v-on指令: v-on:事件类型="一个函数" 这个事件类型可以自定义 简写: @事件类型="一个函数"⭐ 1.作用:绑定事件监听,表达式可 ...

  2. java中事件监听_Java中的事件监听机制

    鼠标事件监听机制的三个方面: 1.事件源对象: 事件源对象就是能够产生动作的对象.在Java语言中所有的容器组件和元素组件都是事件监听中的事件源对象.Java中根据事件的动作来区分不同的事件源对象,动 ...

  3. Java中事件监听机制

    Java中事件监听机制 一.事件监听机制的定义 要想了解Java中的事件监听机制,首先就要去了解一下在Java中事件是怎样去定义的呢!在使用Java编写好一个界面后,我们就会对界面进行一些操作,比如, ...

  4. android动画view上移,在Android开发中使用View制作一个引导动画

    在Android开发中使用View制作一个引导动画 发布时间:2020-11-20 16:46:16 来源:亿速云 阅读:98 作者:Leah 这篇文章将为大家详细讲解有关在Android开发中使用V ...

  5. spring中的事件监听机制

    Spring event listener 介绍 example 简单原理解释 自定义事件.监听和发布 事件 监听器 发布者 测试 更加一般的事件 @EventListener原理 介绍 exampl ...

  6. Spring5源码 - 11 Spring事件监听机制_源码篇

    文章目录 pre 事件监听机制的实现原理[观察者模式] 事件 ApplicationEvent 事件监听者 ApplicationEvent 事件发布者 ApplicationEventMultica ...

  7. java监听com口_简单了解Java接口+事件监听机制

    1.接口: 定义方法: public interface interName //extends interName2, interName3...可继承多个接口 在接口里只能定义常量和抽象方法. p ...

  8. java监听机制_详解java的事件监听机制和观察者设计模式

    首先说说监听器: 监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法将立即被执 行. java的事件监 ...

  9. 关于事件监听机制的总结(Listener和Adapter)

    记得以前看过事件监听机制背后也是有一种设计模式的.(设计模式的名字记不清了,只记得背后实现的数据结构是数组.) 附上事件监听机制的分析图: 一个事件源可以承载多个事件(只要这个事件源支持这个事件就可以 ...

最新文章

  1. 砥砺前行,比特币现金周年国际峰会正式召开
  2. 初识 ASP.NET 3.5 MVC 开发
  3. 中文导致Mybatis无效的列索引
  4. (转)一台服务器安装两个tomcat6 服务的解决方案
  5. centos查看历史指令记录_CentOS清除SSH登录记录、历史命令及日志缓存
  6. 了解C ++中的Vector insert()
  7. css3中的border-image用法
  8. win7 插入鼠标自动禁用触摸板
  9. 对勾和叉怎么打_方框里打钩和叉符号怎么输入?N种方法,总有一种适合你!-word里面怎么打勾...
  10. SpringMVC中的MultipartResolver,LocaleResolver
  11. Android12(S)授权弹窗被悬浮窗遮挡导致无法点击问题分析
  12. ioh3000t长虹盒子刷机固件 S905LB-高安-xian刷固件
  13. 2.zookeeper
  14. Ubuntu安装电源管理工具TLP
  15. 二手交易管理系统SSM
  16. vue中使用json-editor个人总结
  17. 微信支付APIV3统一回调接口封装(H5、JSAPI、H5、App、小程序)
  18. 第一章 1.11 高阶函数
  19. 程序员修练之道-笔记
  20. STM32串口通信原理及实验讲解

热门文章

  1. python写小程序-用python写个简单的小程序,编译成exe跑在win10上
  2. python处理表格数据-Python数据处理(二):处理 Excel 数据
  3. 开课吧python课程-Python教父廖雪峰加入开课吧 打造技术品类黄金内容班底
  4. python能做软件开发吗-python代码能做成软件吗
  5. python项目归纳总结-【第108期】总结最近项目中常用的几个Python库
  6. python新手入门教程-Python简明入门教程
  7. python数据分析的主要流程-将Python和R整合进一个数据分析流程
  8. 2018python培训-2018python深度学习核心技术培训班
  9. python3.7安装turtle步骤-Python3安装turtle问题
  10. 给想学python-要学 Python 需要怎样的基础?