Android中点击事件的四种写法
Android中点击事件的四种写法
- 使用内部类实现点击事件
- 使用匿名内部类实现点击事件
- 让MainActivity实现View.OnClickListener接口
- 通过布局文件中控件的属性
第一种方法:使用内部类
基本步骤如下:
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{@Overridepublic 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() {@Overridepublic 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传入的是thisbtn.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中点击事件的四种写法相关推荐
- android四种点击事件,android点击事件的四种方式
android点击事件的四种方式 第一种方式:创建内部类实现点击事件 代码如下: package com.example.dail; import android.text.TextUtils; im ...
- Android中按钮的点击事件的四种写法
如题,在Android中按钮的点击事件有四种写法,如下图. 界面为四个Button+一个TextView+一个ImageView activity_main布局文件如下: <?xml versi ...
- Jquery实现点击事件的四种写法
1. $(".tab").click(function () { }) 2. $(".tab").on("click",function ...
- Android代码规范----按钮单击事件的四种写法
[前言] 按钮少的时候用第三种的匿名内部类会比较快,比如写demo测试的时候或者登陆界面之类. 按钮多的时候一般选择第四种写法. 一.第一种写法:在XML文件中声明onClick属性(很少用) 在XM ...
- SWT事件的四种写法
一.匿名内部类写法 在创建SWT中的HelloWorld插件项目中就是用的这种写法,再次复制如下: button.addSelectionListener(new SelectionAdapt ...
- Android按钮响应事件的四种方式
一.按钮响应事件的四种方式 整体布局 沿用登录界面,对登录按钮进行事件响应处理 <?xml version="1.0" encoding="utf-8"? ...
- [Android] 按钮单击事件的五种写法
在平时学习安卓的过程中,不论是看视频还是看博客,我发现每个人对代码的写法都有不同的偏好,比较明显的就是对控件响应事件的写法的不同.所以我想把这些写法总结一下,比较下各种写法的优劣,希望可以让自己可以灵 ...
- android_button onclick点击事件的5种写法
android项目开发中经常使用button按钮的onclick点击事件来做一些操作,android onclick事件通常有这5种写法经常被使用,本文以android Toast弹窗来举例,原文转自 ...
- 为未来元素添加点击事件的两种写法
哈哈哈,小七来了,对于经常搬砖撸代码的猴子们,一定会遇到给好多li(死的还是动态字符串拼接生成的(对未来元素添加不到事件的看之前写的事件委托))添加点击事件 第一种: var index=0; for ...
最新文章
- 理解矩阵的掩码操作 使用opencv锐化图片
- php代码结构,如何优化php代码结构
- 傅里叶变换是用来做什么的,具体举例一下应用?
- 剑指offer(19)顺时针打印矩阵
- unity3d界面部分英文翻译—新手
- Redis内部数据结构详解之简单动态字符串(sds)
- 7-19 求链式线性表的倒数第K项 (20 分)(思路分析+极简代码+超容易理解)
- 温故而知新!微信小程序的事件处理,吊打面试官系列!
- LeetCode 2149. 按符号重排数组(双指针)
- Weblogic - Failed to bind remote object 错误解决方法
- shell脚本:判断本地和远程文件是否存在
- pinpoint agent性能优化方面官方文档翻译
- AX2012/D365 批处理如何创建
- 使用ESP8266/ESP8285做一个WIFI中继(WiFi信号放大器)
- 三种网络模型(OSI七层参考模型、TCP/IP参考模型、五层参模型)
- 【python】把Excel中的数据在页面中可视化
- Spring框架-IOC
- 解读《花木兰》中的木兰形象
- python 模拟键盘自动打字敲英语文章
- R语言学习记录:proc.time、Sys.time函数