在之前博文中多次使用了点击事件的处理实现,有朋友就问了,发现了很多按钮的点击实现,但有很多博文中使用的实现方式有都不一样,到底是怎么回事。今天我们就汇总一下点击事件的实现方式。

点击事件的实现大致分为以下三种:
(1)Activity 实现接口方式实现点击事件(经常使用)
(2)自定义方法,使用配置文件android:onclick
(3)使用内部类方式实现
(4)使用匿名内部类实现介绍下几种点击事件的实现方式:
下面我们通过代码来简单演示下几种点击事件的实现方式:
(1)Activity 实现接口方式实现点击事件
/**
* Activity 实现接口方式实现点击事件
* Activity 实现 View.OnClickListener 实现 onClick(View view){} 方法
* 在 Activity 的 onCreate 方法中注册事件
*/
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button btn;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.button);
btn.setOnClickListener(this);
}
public void onClick(View v) {
Toast.makeText(MainActivity.this,"实现接口方式",Toast.LENGTH_LONG).show();
}
}
(2)自定义方法,使用layout配置文件android:onclick
/**
* 使用配置文件方式实现点击事件
* 在layout中的配置文件中使用onClick 属性指定触发事件时的处理方法,
* 在 Activity 中提供一个同名的方法 格式为 public void XXX(View v){....}
*/
public class MainActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void click(View v){
Toast.makeText(MainActivity.this,"自定义",Toast.LENGTH_LONG).show();
}
}
(3)使用内部类方式实现
/**
* 使用内部类方式实现点击事件
* 定义一个 View.OnClickListener 的实现类,实现 onClick 方法。
* 在 Activity 的 onCreate 方法中注册事件
*/
public class MainActivity extends AppCompatActivity {
private Button btn;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.button2);
btn.setOnClickListener(new Listener());
}
class Listener implements View.OnClickListener{
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this,"内部类",Toast.LENGTH_LONG).show();
}
}
}
(4)使用匿名内部类实现
/**
* 使用匿名内部类方式实现点击事件
* 注册按钮单击事件时直接使用匿名内部类
*/
public class MainActivity extends AppCompatActivity {
private Button btn;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.button3);
btn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this,"匿名内部类",Toast.LENGTH_LONG).show();
}
});
}
}
补充:
不同的组件来实现不同类型的点击事件,例如onItemClickListener,OnCheckedChangeListener,OnRatingBarChangeListener,OnMultiChoiceClickListener,OnDate/timeSetListener,OnScrollListener,OnChildClickListener,setOnTouchListener,OnPageChangeListener,OnMenuItemClickListener,OnEditorActionListener,OnEditorActionListener等等各种点击事件的处理形式。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Android
# 点击事件
# Android中父View和子view的点击事件处理问题探讨
# Android中捕获TTextView文本中的链接点击事件方法
# 简单讲解Android开发中触摸和点击事件的相关编程方法
# Android如何防止多次点击事件
# Android中捕捉menu按键点击事件的方法
# Android使用RecyclerView实现自定义列表、点击事件以及下拉刷新
# Android 中ListView的Item点击事件失效的快速解决方法
# Android开发在轮播图片上加入点击事件的方法
# Android中EditText的drawableRight属性设置点击事件
# Android点击事件派发机制源码分析
# 配置文件
# 自定义
# 几种
# 博文
# 都不
# 有很多
# 三种
# 问了
# 提供一个
# 来实现
# 不同类型
# 单击
# 大家多多
# 格式为
# 发现了
# 分为以下
# 使用了
# view
# onClick
# OnClickListener
相关文章:
行程制作网站有哪些,第三方机票电子行程单怎么开?
定制建站平台哪家好?企业官网搭建与快速建站方案推荐
建站之星多图banner生成与模板自定义指南
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
已有域名和空间,如何快速搭建网站?
如何自定义建站之星网站的导航菜单样式?
内部网站制作流程,如何建立公司内部网站?
实现虚拟支付需哪些建站技术支撑?
SQL查询语句优化的实用方法总结
如何用虚拟主机快速搭建网站?详细步骤解析
如何快速搭建高效可靠的建站解决方案?
建站主机如何安装配置?新手必看操作指南
无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?
网站好制作吗知乎,网站开发好学吗?有什么技巧?
,交易猫的商品怎么发布到网站上去?
建站主机是否属于云主机类型?
c# 服务器GC和工作站GC的区别和设置
如何基于云服务器快速搭建个人网站?
*服务器网站为何频现安全漏洞?
如何在IIS中新建站点并配置端口与IP地址?
制作网页的网站有哪些,电脑上怎么做网页?
道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
制作门户网站的参考文献在哪,小说网站怎么建立?
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
个人摄影网站制作流程,摄影爱好者都去什么网站?
早安海报制作网站推荐大全,企业早安海报怎么每天更换?
建站主机CVM配置优化、SEO策略与性能提升指南
如何快速建站并高效导出源代码?
如何挑选最适合建站的高性能VPS主机?
建站之星代理如何获取技术支持?
Swift开发中switch语句值绑定模式
如何快速配置高效服务器建站软件?
建站之星北京办公室:智能建站系统与小程序生成方案解析
可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?
湖州网站制作公司有哪些,浙江中蓝新能源公司官网?
高防服务器租用指南:配置选择与快速部署攻略
大连网站制作公司哪家好一点,大连买房网站哪个好?
代刷网站制作软件,别人代刷火车票靠谱吗?
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
建设网站制作价格,怎样建立自己的公司网站?
如何在IIS服务器上快速部署高效网站?
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
想学网站制作怎么学,建立一个网站要花费多少?
如何在服务器上配置二级域名建站?
建站之星CMS五站合一模板配置与SEO优化指南
如何在景安云服务器上绑定域名并配置虚拟主机?
网站制作网站,深圳做网站哪家比较好?
建站之星CMS建站配置指南:模板选择与SEO优化技巧
建站主机SSH密钥生成步骤及常见问题解答?
*请认真填写需求信息,我们会在24小时内与您取得联系。