详解Android中点击事件的几种实现方式
发布时间 - 2026-01-10 21:56:38 点击率:次在之前博文中多次使用了点击事件的处理实现,有朋友就问了,发现了很多按钮的点击实现,但有很多博文中使用的实现方式有都不一样,到底是怎么回事。今天我们就汇总一下点击事件的实现方式。

点击事件的实现大致分为以下三种:
(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开发在轮播图片上加入点击事件的方法
# Android点击事件派发机制源码分析
# Android开发-之监听button点击事件的多种方法
# Android给TextView添加点击事件的实现方法
# 配置文件
# 自定义
# 几种
# 博文
# 都不
# 有很多
# 三种
# 问了
# 提供一个
# 来实现
# 不同类型
# 单击
# 大家多多
# 格式为
# 发现了
# 分为以下
# 使用了
# class
# brush
# pre
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何快速启动建站代理加盟业务?
Laravel storage目录权限问题_Laravel文件写入权限设置
Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制
Firefox Developer Edition开发者版本入口
javascript如何操作浏览器历史记录_怎样实现无刷新导航
HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】
如何制作一个表白网站视频,关于勇敢表白的小标题?
Laravel Blade模板引擎语法_Laravel Blade布局继承用法
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
如何在IIS服务器上快速部署高效网站?
LinuxShell函数封装方法_脚本复用设计思路【教程】
HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】
如何用wdcp快速搭建高效网站?
Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决
Laravel中的withCount方法怎么高效统计关联模型数量
b2c电商网站制作流程,b2c水平综合的电商平台?
使用豆包 AI 辅助进行简单网页 HTML 结构设计
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
打开php文件提示内存不足_怎么调整php内存限制【解决方案】
如何在搬瓦工VPS快速搭建网站?
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
zabbix利用python脚本发送报警邮件的方法
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
桂林网站制作公司有哪些,桂林马拉松怎么报名?
百度浏览器如何管理插件 百度浏览器插件管理方法
Python图片处理进阶教程_Pillow滤镜与图像增强
nodejs redis 发布订阅机制封装实现方法及实例代码
香港网站服务器数量如何影响SEO优化效果?
Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】
Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势
Laravel如何创建自定义中间件?(Middleware代码示例)
Laravel怎么清理缓存_Laravel optimize clear命令详解
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法
Linux系统命令中screen命令详解
,网页ppt怎么弄成自己的ppt?
如何用PHP快速搭建高效网站?分步指南
php json中文编码为null的解决办法
如何快速搭建二级域名独立网站?
使用Dockerfile构建java web环境
高防服务器如何保障网站安全无虞?
UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】
javascript基于原型链的继承及call和apply函数用法分析

