位置: 编程技术 - 正文

Button.setOnClickListener(OnClickListener l) 原理

编辑:rootadmin

推荐整理分享Button.setOnClickListener(OnClickListener l) 原理,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

android,java使用Button 可能都会监听之 当其被点击 就会有函数负责回调 那么其到底是怎么实现的呢?

今天要做的就是摸清楚之 为了减少不必要的麻烦 打算extends EditText 并在其上设立监听器

[代码 步骤]

Button.setOnClickListener(OnClickListener l) 原理

1. 定义Edit2Text 且extends EditText

public class Edit2Text extends EditText { OnTextChangedListener changedListener; TextWatcher tWatcher; } 复制代码

2. 定义其上的监听器:OnTextChangedListener 并定义函数:onChanged() 用于执行具体回调

public static interface OnTextChangedListener { public void onChanged(Edit2Text e2t, String text); } 复制代码需要注意的 这几行代码的修饰关键字: 1. static :使其能够脱离Edit2Text而存在 2. interface : 使其自动填充其内部函数 3. “void onChanged(Edit2Text e2t, String text)” 中的第一个参数e2t 用于做分别 具体奥妙 后面再细说 复制代码3. 设定监听器public void setOnChangedListener(OnTextChangedListener l){ changedListener = l; } 复制代码

4. 定义TextWatcher 当字符内容改变 通知监听器

* 定义TextWatcher'

tWatcher = new TextWatcher(){ @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub . } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub updateText(s.toString()); } }; this.addTextChangedListener(tWatcher); 复制代码* 通知监听器private void updateText(String s){ changedListener.onChanged(this, s); } 复制代码5. 如何使用public class Edit2TextTest extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); . setContentView(R.layout.main); Edit2Text e2t = new Edit2Text(this); setContentView(e2t); e2t.setOnChangedListener(new Edit2Text.OnTextChangedListener(){ @Override public void onChanged(Edit2Text e2t, String text) { // TODO Auto-generated method stub Log.d("TAG","[String:]"&#;text); } }); } } 复制代码* Log 信息:Java代码 收藏代码. D/dalvikvm( ): GC freed objects / bytes in m . D/TAG ( ): [String:]i am . D/TAG ( ): [String:]i am . D/TAG ( ): [String:]i am e . D/TAG ( ): [String:]i am ed . D/TAG ( ): [String:]i am edi . D/TAG ( ): [String:]i am edit . D/TAG ( ): [String:]i am edit2 . D/TAG ( ): [String:]i am edit2t . D/TAG ( ): [String:]i am edit2te . D/TAG ( ): [String:]i am edit2tex . D/TAG ( ): [String:]i am edit2text . D/TAG ( ): [String:]i am edit2text, . D/TAG ( ): [String:]i am edit2text, . D/TAG ( ): [String:]i am edit2text, h . D/TAG ( ): [String:]i am edit2text, he . D/TAG ( ): [String:]i am edit2text, hel . D/TAG ( ): [String:]i am edit2text, hell . D/TAG ( ): [String:]i am edit2text, hello . D/TAG ( ): [String:]i am edit2text, hello!

Android 安卓 API 兼容 @SuppressLint(NewApi)if(Build.VERSION.SDK_INT=Build.VERSION_CODES.Honeycomb){//如果api版本大于}else{//如果api版本小于}Android版本名和APILevel关系全称Android的版本Android版

百度定位SDK5.x版本开发指南修正说明 百度开发者中心有给出5.x版本(目前最新是5.2)开发指导说明,但无法成功定位。除参考官网指导说明外,

android自定义控件之滚动广告条 在一些电子商务网站上经常能够看到一些滚动的广告条,许多软件在首次使用时也有类似的广告条,如图:其实在github上有实现这种效果的控件,不过

标签: Button.setOnClickListener(OnClickListener l) 原理

本文链接地址:https://www.jiuchutong.com/biancheng/382234.html 转载请保留说明!

上一篇:Android技术——Intent Filter(android技术总结)

下一篇:Android 安卓 API 兼容(android 安卓开发 openssl)

  • 超率累进税率有哪些税种呢怎么算
  • 应交税费明细表填制
  • 房企与个人订立购房合同是否贴花?
  • 工资薪金所得扣税
  • 公司筹建期间
  • 运输公司的固定资产怎么提折旧
  • 固定资产转售
  • 企业销售现金折扣
  • 扣除工资作为违约金
  • 行政单位无法支付怎么办
  • 营业外支出税前扣除比例是多少
  • 个人去税务局开劳务票 税点是多少
  • 税收折旧率
  • 小微企业怎么合法避税
  • 现金支票存根会计要签字吗
  • 增值税普通发票有什么用
  • 电梯维修公司发展前景
  • 计算工业总产值指数
  • 月底财务为什么要关账,暂时开不了发票
  • 贸易公司销售
  • 质权的成立时间为
  • php安装部署
  • 房地产企业按揭款到账后增值税
  • 项目设计费怎么算
  • 注销企业基本户需要先注销一般户吗
  • 从上布法罗荒野地区的惠特克顶小道向东看,阿肯色州奥沙克国家森林 (© Jens Lambert Photography/Getty Images Plus)
  • 企业接受现金捐赠如何开具发票
  • php制作简单的表单代码
  • php获取数据库中的数据,输出到div中
  • echars legend
  • html中的标签有哪些
  • 火爆全网的头像男
  • php获取文件名称
  • 出口免税和退税的区别
  • 行政单位核销其他应付款分录
  • 红字信息表必须要原件吗
  • 培训费开票属于哪个征收明目
  • celery eventlet
  • vue实现响应式的原理
  • 股权处置时点
  • 资产处置损益会计科目
  • 有限合伙企业属于企业法人还是非法人企业
  • 计入税金及附加的税种顺口溜
  • 什么公司转让需要交税
  • 工会经费计提比例0.8%和2%有何区别
  • 审核记账凭证的心得
  • 公司不做账会怎样?
  • 商品盘点库存的方法
  • linux安装和配置
  • sql常用的语句大全
  • 数据库时区与url连接设置的时区
  • win8怎么连接
  • 删除 ubuntu
  • win7网页无法访问
  • win10系统添加语言
  • 苹果电脑mac系统怎么升级
  • centos7日志管理
  • xp系统如何共享文件夹怎么弄
  • 怎样修改linux用户名和密码
  • linux如何创建ftp
  • win 7系统双独立显卡设置
  • win10系统如何禁用u盘
  • linux时区问题
  • mac nums
  • [置顶]电影名字《收件人不详》
  • jquery有什么功能
  • jsp验证邮箱格式
  • linux nodejs
  • cocos2dx-3.1.1 win8+eclipse+android开发 初学者容易迷惑的两个问题
  • python有没有翻译库
  • unity3D游戏开发
  • JavaScript中数组长度的属性
  • 浏览器检测js代码
  • 开源安卓app
  • JavaScript+html5 canvas绘制缤纷多彩的三角形效果完整实例
  • js设计模型
  • 可分割项目
  • swift method swizzling
  • 个体 税务登记
  • 贵阳市税务局投诉电话号码
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设