位置: 编程技术 - 正文

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)

  • 个人独资企业需要交什么税
  • 地产企业预缴增值税政策
  • 个人所得税红利20%
  • 未填开发票怎么作废
  • 快速撕发票的方法有哪些
  • 客户回款扣除的手续费会计分录怎么做?
  • 经营租赁发生改良费用的会计分录如何处理?
  • 12万纳税
  • 企业租车费用怎么处理方法
  • 代发工资超过5000 可以不交税吗
  • 酒店行业税负率怎么算
  • 增值税专用发票可以开电子发票吗
  • 淘宝的电子发票怎么看
  • 销售额没有达到要求企业采取措施
  • 企业所得税收入是含税还是不含税
  • 所得税不能税前扣除项目
  • 未分配利润可以转实收吗
  • 会计核算中利润包括哪些
  • 形式发票需要报关吗
  • 视同销售的企业所得税汇缴表怎么填列?
  • 所得税汇算清缴退税会计分录怎么做
  • 内部权益性投资是指
  • 使用u盘安装windows11步骤
  • 简易计税的方式
  • 评估增值资产如何记账
  • 公积金贷款额度查询计算器
  • 计提安全费用含税还是不含税
  • PHP:pg_result_error()的用法_PostgreSQL函数
  • PHP:pg_fetch_row()的用法_PostgreSQL函数
  • 大型绿萝的养殖方法
  • PHP:iconv_substr()的用法_iconv函数
  • 广告公司的设计服务费计入什么科目
  • 加工制造业包括
  • 深入解析wordpress
  • 安装了sklearn调用却找不到
  • php封包
  • php获取年月日
  • 华为od机试真题2023 pdf
  • 学生誓词最新2022年
  • 帝国cms设置获取IP字段
  • 公司让员工提前离职,可以结清工资吗
  • 公司废料收入如何开票
  • 借款合同印花税优惠政策
  • 使用sqlserver创建数据库和删除数据库的实验总结
  • 理财产品怎么收费
  • 所得税会计核算要点及程序有哪些
  • 内账需要哪些单据
  • 运费发票如何做分录
  • 出差的住宿费能抵扣吗
  • 房产税和土地使用税什么时候申报
  • 跨月发票红冲怎么做账务处理
  • 一般哪些收据可以抵扣
  • 健身房健身器材采购清单
  • 多打的投资款怎么入账
  • 一般纳税人的进项税额可以抵扣吗
  • 残保金逾期怎么办
  • 固定资产的核算包括
  • 员工领备用金不还能起诉吗法院
  • 采购人员垫付怎么入账
  • mysql新手入门
  • sql导入和导出数据
  • 在centos上安装pycharm
  • Extjs4 GridPanel 的几种样式使用介绍
  • python金融大数据 全流程详解
  • excel password recovery5.0注册码
  • bat修改ip地址
  • jquery中绑定事件
  • jquery点击切换背景颜色
  • Python 装饰器深入理解
  • jquery.validate 自定义验证方法及validate相关参数
  • ps如何把图片放大缩小
  • JavaScript定义变量
  • javascript中的数据类型分为两大类
  • 已申报的纳税申报表怎么修改
  • 深圳市税务局网上办税大厅官网
  • 江苏税务个人所得税app怎么下载不了?
  • 个税已申报税额为0可以退税吗
  • 税务局宣传报道
  • 税务稽查的后果
  • 江苏国税发票出库时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设