在Android的开发中,对于点击事件的OnClickListener有下面四种实现方式,可以根据实际场景的需要选择合适的用法。下面以Button按钮来举例说明。

方法一:
适合场景:任何场景都通用,但对于一个Activity中要是有多个控件要实现onClick方法就会显得代码冗余。
Button bt_Demo = (Button)findViewById(R.id.bt_Demo);
bt_Demo.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//具体点击操作的逻辑
}
});
方法二:
适合场景:适合有多个同类型控件(比如Button数组)要实现onClick()方法时使用
Button[] demoBtns ;
……
for(Button button : demoBtns ){
button.setOnClickListener(listener);
}
private OnClickListener listener = new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
switch(arg0.getId()){
case R.id.btn_Demo:
//具体点击操作的逻辑
break;
default:
break;
}
}
}
方法三:
适合场景:同方法二,两者差别不大
Button bt_Demo = (Button)findViewById(R.id.bt_Demo);
bt_Demo.setOnClickListener(new ButtonListener());
private class ButtonListener implements OnClickListener{
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
switch(arg0.getId()){
case R.id.btn_Demo:
//具体点击操作的逻辑
break;
default:
break;
}
}
}
方法四:
适合场景:适合界面上有不同类型的控件,这种方式将所有控件的onClick方法在一个方法里面实现,看起来比较简洁
在Activity中实现OnClickListener接口:
public class MyActivity extends Activity implements OnClickListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//按纽
Button btn_Demo = (Button)findViewById(R.id.bt_Demo);
bt_Demo.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch(arg0.getId()){
case R.id.btn_Demo:
//具体点击操作的逻辑
break;
default:
break;
}
}
}
方法五:
适合场景:通用场景,特别是某个控件的点击方法要实现的逻辑较复杂的时候使用。
在布局文件中加上android:onClick="方法名",对于有些控件(比如TextView)需要兼容旧的SDK API,还需要加上android:clickable="true"
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:onClick="onTextViewClick"
android:text="点击事件"
android:textSize="16sp" />
//在代码中实现onTextViewClick()方法即可。
public void onTextViewClick(){
//具体点击操作的逻辑
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# android
# onclick
# onclick事件
# Android ButtonOnClick事件的写法总结
# 详谈Android中onTouch与onClick事件的关系(必看)
# Android onClick按钮单击事件的四种常用写法
# Android ListView 子控件onClick正确获取position的方法
# Android onClick方法与setOnClickListener方法对比
# Android使用TextView
# 设置onClick属性无效的解决方法
# 三种Android单击事件onclick的实现方法
# Android中button实现onclicklistener事件的两种方式
# Android 布局中的android:onClick的使用方法总结
# 多个
# 就会
# 是有
# 上有
# 还需要
# 四种
# 可以根据
# 不同类型
# 中要
# 大家多多
# 举例说明
# 按纽
# id
# findViewById
# setOnClickListener
# Override
# private
# listener
# Auto
# TODO
相关文章:
大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?
c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗
如何快速建站并高效导出源代码?
道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?
建站VPS配置与SEO优化指南:关键词排名提升策略
香港服务器网站卡顿?如何解决网络延迟与负载问题?
建站之星代理如何优化在线客服效率?
安云自助建站系统如何快速提升SEO排名?
南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?
已有域名建站全流程解析:网站搭建步骤与建站工具选择
专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?
建站主机解析:虚拟主机配置与服务器选择指南
如何在Golang中引入测试模块_Golang测试包导入与使用实践
建站之星安装模板失败:服务器环境不兼容?
北京建设网站制作公司,北京古代建筑博物馆预约官网?
建站之星收费标准详解:套餐费用及年费价格表一览
哈尔滨网站建设策划,哈尔滨电工证查询网站?
制作网站的软件免费下载,免费制作app哪个平台好?
韩国服务器如何优化跨境访问实现高效连接?
官网建站费用明细查询_企业建站套餐价格及收费标准指南
潮流网站制作头像软件下载,适合母子的网名有哪些?
深圳企业网站制作设计,在深圳如何网上全流程注册公司?
义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?
香港服务器租用费用高吗?如何避免常见误区?
早安海报制作网站推荐大全,企业早安海报怎么每天更换?
h5网站制作工具有哪些,h5页面制作工具有哪些?
如何在香港服务器上快速搭建免备案网站?
海南网站制作公司有哪些,海口网是哪家的?
c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】
如何解决VPS建站LNMP环境配置常见问题?
如何通过服务器快速搭建网站?完整步骤解析
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
实惠建站价格推荐:2025年高性价比自助建站套餐解析
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
如何通过宝塔面板实现本地网站访问?
制作农业网站的软件,比较好的农业网站推荐一下?
如何选择CMS系统实现快速建站与SEO优化?
如何快速生成专业多端适配建站电话?
,巨量百应是干嘛的?
建站之星logo尺寸如何设置最合适?
网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?
公司网站的制作公司,企业网站制作基本流程有哪些?
如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法
建站之星安装步骤有哪些常见问题?
如何快速使用云服务器搭建个人网站?
ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?
专业公司网站制作公司,用什么语言做企业网站比较好?
平台云上自主建站:模板化设计与智能工具打造高效网站
广州顶尖建站服务:企业官网建设与SEO优化一体化方案
*请认真填写需求信息,我们会在24小时内与您取得联系。