位置: 编程技术 - 正文

Android点击事件的四种写法(android点击事件传递机制)

编辑:rootadmin

推荐整理分享Android点击事件的四种写法(android点击事件传递机制),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android点击事件的三种方式,android点击事件传递机制,android点击事件处理,android点击事件处理,android点击事件监听,android点击事件onclick用法,android点击事件onclick用法,android点击事件onclick用法,内容如对您有帮助,希望把文章链接给更多的朋友!

Android点击事件的四种写法

一、Android点击事件的四种写法

1、点击事件的第一种写法 . 写一个内部类.实现点击事件的接口

Android点击事件的四种写法(android点击事件传递机制)

bt.setOnClickListener(new MyButtonListener());

2、点击事件的第二种写法,匿名内部类

bt.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { callPhone(); } });3、点击事件的第三种写法:this-让这个activity实现事件接口,一般测试时候用,正式上线的时候不用。 class Test implements OnClickListener{ @Override public void onClick(View v) { // TODO Auto-generated method stub } }4、点击事件的第四种写法 在xml文件里面定义 button点击的时候 调用什么方法 布局xml配置: android:onClick="dailPhone" 然后在当前Activity中实现该事件的接口,再写一个dailPhone方法, 该方法名字与xml中配置的名字一样,且必须是public,而且要一个View对象, 因为底层的实现是反射且没有getDeclaredMethod() public void dailPhone(View view){ callPhone(); }

二、四种事件监听应用场景

a) 内部类方式——注册的事件源比较少b) 匿名内部类方法——事件源又多一点c) 当前activity中this——事件源更多d) 在ui的xml文件中,配置onClick属性(该方法不能设置为private)因为底层的实现-反射没有getDeclaredMethod() ——测试的时候用,实际开发中不用,莫名其妙多的方法。

三、代码演示:

package cn.test.phone; import android.net.Uri;import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText; publicclass MainActivityextends Activityimplements OnClickListener { private EditText etDail; /** * activity创建的时候 调用的方法 */ @Override protectedvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //1、设置activity显示的内容:一个xml文件 setContentView(R.layout.phone_ui); //2、通过id寻找控件 etDail = (EditText) MainActivity.this.findViewById(R.id.et_dail); //寻找edittext 界面初始化的时候寻找控件 ,避免多次的查询 Button btDail= (Button)this.findViewById(R.id.bt_dail); //3、给按钮注册一个点击事件的监听器 //点击事件的第一种写法 . 写一个内部类.实现点击事件的接口 //btDail.setOnClickListener(new MyButtonListener()); /*点击事件的第二种写法,匿名内部类 btDail.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { callPhone(); } });*/ /* 点击事件的第三种写法:this-让这个activity实现事件接口,一般测试时候用,正式上线的时候不用。 //btDail.setOnClickListener(this);*/ } // 点击事件的第四种写法 在xml文件里面定义 button点击的时候 调用什么方法 publicvoid dailPhone(View view){ callPhone(); } //方式三:让这个activity实现事件接口,一般测试时候用,正式上线的时候不用。 @Override publicvoid onClick(View v) { callPhone(); } //方式一:点击事件的第一种写法 . 写一个内部类.实现点击事件的接口 /*private class MyButtonListener implements OnClickListener{ *//** * 当按钮被点击的时候调用 *//* @Override public void onClick(View v) { callPhone(); } }*/ privatevoid callPhone() { String phoneNumber = etDail.getText().toString(); Intent intent =new Intent(); //设置意图动作 intent.setAction(Intent.ACTION_CALL); //设置意图数据 //intent.setData(Uri.parse(phoneNumber));//问题i1: intent.setData(Uri.parse("tel:"&#;phoneNumber)); //开启意图 MainActivity.this.startActivity(intent); } }

android 控件onClick事件的4种实现方式 1、spanstyle=white-space:pre/spanTextViewtv=(TextView)findViewById(R.id.tv);tv.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewarg0){//TODOAuto-generatedmethodstub//dosomething

点击按钮之后仍然显示对话框--Android AndroidDialog,keepdialogopenwhenbuttonispressed?目标:如图点击对话框中确定按钮之后需要判断输入是否为空,如果为空,显示toast,如果输入符合要求,那么dismis

Android UI-开源框架ImageLoader的完美例子(异步加载大量图片) Android开源框架ImageLoader的完美例子很多人都在讨论如何让图片能在异步加载更加流畅,可以显示大量图片,在拖动ListView的时候不会出现卡的现象。关于

标签: android点击事件传递机制

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

上一篇:ListView中EditText焦点问题

下一篇:android 控件onClick事件的4种实现方式(android 控件居中)

  • 加计扣除减免税额怎么计算
  • 保本理财增值税可以开票吗怎么开
  • 印花税都有啥
  • 小微企业利润表模板
  • 直接收到货款也要走应收账款吗
  • 发票与入库单明细不一致税务可以吗
  • 资产总计是期初余额吗
  • 企业年金也需要缴纳吗
  • 退休人员怎么缴纳城镇居民医保
  • 公司注销公告怎么发布
  • 年金现值计算公式推导
  • 租赁厂房发生的改造装修费用
  • 单位之间借款利息可以开票么
  • 资产负债表和利润表和现金流量表的关系
  • 怎么查公司账户是哪个银行的
  • 其他服务业经营范围包括哪些
  • 进项税额转出凭证怎么做
  • 当进项大于销项需要做账务处理吗?
  • 应付账款无法支付所得税处理
  • 哪些费用可以税前扣除
  • 企业抵押贷款手续办理流程
  • 企业加入的协会有哪些
  • mac怎么查询是不是正品
  • 开发票没有银行回单可以入帐吗?
  • 潜在表决权如何影响表决权
  • 玫瑰小镇的玫瑰有什么用
  • 公司成立之初
  • 所得税到底按会计分录吗
  • php实验步骤
  • 个人出差借款会计分录
  • 交易性金融资产是什么意思
  • PHP:pg_send_prepare()的用法_PostgreSQL函数
  • php 错误和异常处理
  • 无痛人流多少钱?
  • php内核剖析
  • 企业借给个人钱合法吗
  • 机票报账行程单怎么打印
  • 数组 php
  • 预定义变量是什么
  • 固定资产毁损应该填制什么凭证
  • 对公账户怎么打印
  • 房产税的租金收入按什么计算的
  • 小规模纳税人能开6%增值税专用发票吗
  • 普通发票添加货品名称步骤
  • 个人以不动产投资入股土地增值税
  • 汇算清缴涉及哪些调整
  • MySQL常用命令关键字
  • 银行汇票的特点和用途
  • 什么情况下借递债券
  • 员工垫付款报销单
  • 劳务派遣公司差额征税怎么做账
  • 收到费用发票没有付款的会计分录
  • 申报抵扣
  • 多计提的收入怎么冲回
  • centos cmake安装
  • Mac下mysql 5.7.17 安装配置方法图文教程
  • centos6.5设置网络
  • centos破解密码命令
  • win7安装sqlserver2000没反应
  • 如何设置个性化桌面
  • windowsxp
  • win8系统计算机在哪里
  • win10 Build 10565中Edge浏览器新增对HTML5视频的播放控制及下载
  • sonytray.exe - sonytray是什么进程
  • windows7开机显示错误恢复进不去
  • linux 11
  • linux如何使用vim编写程序
  • 文件包解密
  • linux中crontab
  • angularjs1.5
  • android入门视频教程
  • python库怎么用
  • javascript获取值
  • 修改jquery版本号不生效
  • js在div中添加div
  • 国家税务总局在哪
  • 国家税务总局全国增值税发票查验平台
  • 全国残疾人工作先进个人
  • 天津车辆购置税网上办税
  • 税控系统技术维护费每年都要交吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设