Android中点击事件的四种写法

第一种方法:使用内部类
基本步骤如下:
1. 新建一个MyOnClickListener类并实现View.OnClickListener接口
2. 重写View.OnClickListener接口中的OnClick(View view)方法
3. 给Button绑定一个监听器,并监听一个点击事件
示例代码如下:
public class MainActivity extends Activity {
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
//必须调用一次父类的该方法,因为父类中做了大量的工作
super.onCreate(savedInstanceState);
//给当前的Activity绑定一个布局
setContentView(R.layout.activity_main);
//通过调用父类的findViewById方法,根据控件的id获取控件对象
btn = (Button) findViewById(R.id.button);
//使用内部类(实现OnClickListener)给button绑定一个监听器,监听点击事件
btn.setOnClickListener(new MyOnClickListener());
}
/*注意:这里的OnClickListener是android.view.View包下的,
不是android.content.DialogInterface包下的。*/
class MyOnClickListener implements View.OnClickListener{
@Override
public void onClick(View v) {
System.out.println("使用内部类实现点击事件");
}
}
第二种方法:使用匿名内部类
基本步骤如下:
1. 给Button绑定一个监听器,并监听一个点击事件
2. 在setOnClickListener方法中直接传入一个OnClickListener对象,并实现OnClick方法
示例代码如下:
public class MainActivity extends Activity {
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
//必须调用一次父类的该方法,因为父类中做了大量的工作
super.onCreate(savedInstanceState);
//给当前的Activity绑定一个布局
setContentView(R.layout.activity_main);
//通过调用父类的findViewById方法,根据控件的id获取控件对象
btn = (Button) findViewById(R.id.button);
//使用匿名内部类(实现OnClickListener)给button绑定一个监听器,监听点击事件
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
System.out.println("使用匿名内部类实现点击事件");
}
});
}
}
第三种方法:让MainActivity直接实现View.OnClickListener接口
基本步骤如下:
1. 让MainActivity直接实现View.OnClickListener
2. 在MainActivity类中重写onClick方法
3. 给Button绑定一个监听器,并监听一个点击事件。
注:此时setOnClickListener传入的是this
示例代码如下:
public class MainActivity extends Activity implements OnClickListener {
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
//必须调用一次父类的该方法,因为父类中做了大量的工作
super.onCreate(savedInstanceState);
//给当前的Activity绑定一个布局
setContentView(R.layout.activity_main);
//通过调用父类的findViewById方法,根据控件的id获取控件对象
btn = (Button) findViewById(R.id.button);
//使用MainActivity实现OnClickListener接口给button绑定一个监听器,监听点击事件
//注:此时setOnClickListener传入的是this
btn.setOnClickListener(this);
}
//实现OnClickListener接口中的onClick方法
@Override
public void onClick(View v) {
System.out.println("让MainActivity实现View.OnClickListener接口从而实现点击事件");
}
}
第四种方法:通过布局文件中控件的属性
基本步骤如下:
1. 在activity_main.xml中给Button控件添加Android:onClick=”action”属性
2. 在Activity中实现action方法,action方法必须满足如下三个条件:
(1) 方法的访问修饰符必须是public
(2)方法的名称必须跟android:onClick=”action” 中的名称完全一致
(3)形参必须是View类型
示例代码如下:
public class MainActivity extends Activity {
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
//必须调用一次父类的该方法,因为父类中做了大量的工作
super.onCreate(savedInstanceState);
//给当前的Activity绑定一个布局
setContentView(R.layout.activity_main);
//通过调用父类的findViewById方法,根据控件的id获取控件对象
btn = (Button) findViewById(R.id.button);
System.out.println("Button 是"+btn);
}
//利用反射给button绑定一个监听器,监听点击事件
/**
* 1:方法的访问修饰符必须是public
* 2:方法的名称必须跟android:onClick="call" 中的名称完全一致
* 3:形参必须是View类型
* 注:形参View其实就是Button对象本身
* */
public void call(View view ){
System.out.println("View 是"+view);
System.out.println("通过反射实现点击事件");
}
}
友情提醒:形参View其实就是Button对象本身
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# android
# 点击事件写法
# 按钮点击事件
# 安卓点击事件4种写法
# Android中父View和子view的点击事件处理问题探讨
# Android中捕获TTextView文本中的链接点击事件方法
# 简单讲解Android开发中触摸和点击事件的相关编程方法
# Android如何防止多次点击事件
# Android中捕捉menu按键点击事件的方法
# Android使用RecyclerView实现自定义列表、点击事件以及下拉刷新
# Android 中ListView的Item点击事件失效的快速解决方法
# Android开发在轮播图片上加入点击事件的方法
# android中在Activity中响应ListView内部按钮的点击事件的两种方法
# 详解Android中点击事件的几种实现方式
# 绑定
# 种方法
# 类中
# 的是
# 为父
# 重写
# 修饰符
# 四种
# 大家多多
# 新建一个
# Button
# public
# extends
# Activity
# java
# pre
# class
# brush
# view
# MainActivity
相关文章:
制作网站外包平台,自动化接单网站有哪些?
建站之星如何优化SEO以实现高效排名?
大连 网站制作,大连天途有线官网?
Android滚轮选择时间控件使用详解
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
javascript中的try catch异常捕获机制用法分析
建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析
如何在云虚拟主机上快速搭建个人网站?
如何通过FTP空间快速搭建安全高效网站?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
如何快速搭建高效简练网站?
,sp开头的版面叫什么?
开封网站制作公司,网络用语开封是什么意思?
怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?
如何通过西部建站助手安装IIS服务器?
,网站推广常用方法?
网站专业制作公司有哪些,做一个公司网站要多少钱?
建站之星安装失败:服务器环境不兼容?
如何确保FTP站点访问权限与数据传输安全?
如何挑选优质建站一级代理提升网站排名?
常州自助建站工具推荐:低成本搭建与模板选择技巧
建站之星免费模板:自助建站系统与智能响应式一键生成
制作网站的软件免费下载,免费制作app哪个平台好?
威客平台建站流程解析:高效搭建教程与设计优化方案
七夕网站制作视频,七夕大促活动怎么报名?
高防服务器租用首荐平台,企业级优惠套餐快速部署
如何在景安服务器上快速搭建个人网站?
网站制作说明怎么写,简述网页设计的流程并说明原因?
北京的网站制作公司有哪些,哪个视频网站最好?
c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】
网站网页制作专业公司,怎样制作自己的网页?
大学网站设计制作软件有哪些,如何将网站制作成自己app?
高端云建站费用究竟需要多少预算?
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
金*站制作公司有哪些,金华教育集团官网?
如何快速使用云服务器搭建个人网站?
建站之星代理费用多少?最新价格详情介绍
香港服务器网站卡顿?如何解决网络延迟与负载问题?
如何通过可视化优化提升建站效果?
微信推文制作网站有哪些,怎么做微信推文,急?
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
建站之星安装后如何配置SEO及设计样式?
如何通过虚拟主机快速搭建个人网站?
建站之星CMS建站配置指南:模板选择与SEO优化技巧
我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?
网站制作多少钱一个,建一个论坛网站大约需要多少钱?
建站之星IIS配置教程:代码生成技巧与站点搭建指南
企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?
微网站制作教程,我微信里的网站怎么才能复制到浏览器里?
建站之星手机一键生成:多端自适应+小程序开发快速建站指南
*请认真填写需求信息,我们会在24小时内与您取得联系。