位置: 编程技术 - 正文

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)

  • 个人所得税如何查询工资
  • 开诊所会计如何做账
  • 利息收入交税税率
  • 垃圾袋发票类别是什么
  • 附加税计提多了怎么调整税额
  • 行政单位利息收入是非税收入吗
  • 增值税申报表在哪里打印
  • 减半征收附加税会计分录
  • 高新技术企业认证都有哪些条件
  • 设计原始凭证所需内容及步骤
  • 汇总记账凭证核算组织程序的缺点主要有
  • 企业呆账的处理方式
  • 发放取暖补贴文件
  • 公司商务卡可以日常消费
  • 公司贷款买车后影响公司收购吗
  • 固定资产增值税怎么抵扣
  • 并购重组中需要哪些条件
  • 补偿贸易具体方式
  • 开票系统怎么改管理员名字
  • 生产负荷的计算
  • 个人所得税怎么交的,怎么算的
  • 打印企业银行流水需要密码吗
  • 借贷记账法的记账规则是
  • 材料按实际成本计价核算
  • 国内企业给国外企业开发票
  • 收回物资的加工成本
  • 技术合同指什么
  • 品牌使用费分录
  • fg726p.exe
  • 其他债权投资按公允价值计量,为什么计提减值准备知乎
  • PHP:imagecreatefromxbm()的用法_GD库图像处理函数
  • 最贵的游戏宣传片
  • html中display none
  • sybyl安装教程
  • php匿名函数为何不匿名
  • vue运行报错怎么解决
  • 宝塔面板使用教程
  • 2023年第十一批专项债
  • 关系代数关系运算
  • php array_slice 取出数组中的一段序列实例
  • 资本公积常用的计量方法
  • 固定资产清理借方增加还是减少
  • 银行回单应该如何处理
  • 土地开发成本包刮
  • 股东每年怎么分红
  • 增值税销项税额抵减账务处理
  • 住宿费用抵扣税款会计分录
  • 上年亏损次年赢亏怎么算
  • 企业向个人的借款合同
  • 个人所得税缴纳标准怎么计算
  • 发工资摘要没写工资
  • 其他权益工具投资公允价值变动计入什么科目
  • 房租费会计分录
  • 出库单上面的单位写谁的
  • 职工教育经费住宿费用可以抵扣吗
  • 直接收到货款也要走应收账款吗
  • 其他流动资产为什么包括应交增值税
  • 奖励罚款怎么做分录
  • linux下安装mysql简单的方法
  • win10rs2是哪个版本
  • SUSE Linux Enterprise Server 11 SP1 安装教程图文详解
  • Win10 Mobile build 14393.189安装与上手体验视频
  • ubuntu 电子书
  • iis安装文件xp版
  • windows 托盘
  • windows7旗舰版怎么打字
  • 什么时候用热毛巾敷眼睛最好
  • linux awk命令使用实例
  • css翻转正反面
  • Sublime Text + decoda 调试Quick-cocos2d-x 游戏
  • linux怎么使用c语言
  • linux系统搜索文件内容
  • 批处理set命令
  • unity飞机大战游戏毕业论文
  • js怎么输出文字
  • 深入理解计算机系统
  • beautiful python
  • ubuntu修改默认桌面环境
  • 浙江网上税务局申报
  • 重庆房产税每年都交还是交一次
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设