android中点击事件的4种写法
android中获取到一些控件(比如说按钮)时,一般会为其添加点击事件,android中的点击事件一共有4中写法。
假设在布局文件中声明如下
....... <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/bt_1" /> .......
一、通过匿名内部类
主要的java代码如下,首先获取到该Button控件。
private Button bt_1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt_1 = (Button) findViewById(R.id.bt_1);
bt_1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//点击后触发执行的代码
}
二、通过内部类
首先获取到该控件,再创建一个内部类,该内部类实现OnClickListener接口。
private Button bt_1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt_1=(Button) findViewById(R.id.bt_1);
bt_1.setOnClickListener(new MyListener());
}
class MyListener implements OnClickListener{
@Override
public void onClick(View v) {
// 点击Button后触发执行的代码
} }
三、在布局文件中添加onClick属性
更改布局文件中 Button的属性
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/bt_1"
android:onClick="click"
/>
添加点击事件时,直接声明一个方法,不必获取到控件
// private Button bt_1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// bt_1 = (Button) findViewById(R.id.bt_1);
}
public void click(View view){
//点击Button后触发执行的代码 }
四、通过实现接口
使用此方法时,主方法要实现OnClickListener 接口,并且覆写接口中定义的onClick方法
public class MainActivity extends Activity implements OnClickListener {
private Button bt_1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt_1 = (Button) findViewById(R.id.bt_1);
//此处传入this即可
bt_1.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// 点击Button后执行的代码
}
}
android中点击事件的4种写法的更多相关文章
- Android中点击事件的四种写法详解
Android中点击事件的四种写法 使用内部类实现点击事件 使用匿名内部类实现点击事件 让MainActivity实现View.OnClickListener接口 通过布局文件中控件的属性 第一种方法 ...
- [Android]Java中点击事件的四种写法
点击事件的必备条件:实现OnClickListener接口,重写onclick(View v)方法 以拨号简单案例为例,如下图效果: 逻辑流程: 获取点击对象,获取数据 给对象设置监听类 实现OnCl ...
- [Android] 点击事件的四种写法
点击事件的必备条件:实现OnClickListener接口,重写onclick(View v)方法 以拨号简单案例为例,如下图效果: 逻辑流程: 获取点击对象,获取数据 给对象设置监听类 实现OnCl ...
- Android笔记---点击事件的四种写法
Android 点击事件的四种写法: 1. 以内部类的形式实现 OnClickListener 接口.定义点击事件 class MainActivity extents Activity{ // .. ...
- 无废话Android之常见adb指令、电话拨号器、点击事件的4种写法、短信发送器、Android 中各种布局(1)
1.Android是什么 手机设备的软件栈,包括一个完整的操作系统.中间件.关键的应用程序,底层是linux内核,安全管理.内存管理.进程管理.电源管理.硬件驱动 2.Dalvik VM 和 JVM ...
- Android journey3 @点击事件的4种写法
对于android布局中的控件,如Button等会有相应的点击事件去响应它所需要的功能,今天我们就以电话拨号器的代码说明下几种点击事件: package com.itheima.phone; impo ...
- [Android] 按钮单击事件的五种写法
在平时学习安卓的过程中,不论是看视频还是看博客,我发现每个人对代码的写法都有不同的偏好,比较明显的就是对控件响应事件的写法的不同.所以我想把这些写法总结一下,比较下各种写法的优劣,希望可以让自己可以灵 ...
- android点击事件的四种方式
android点击事件的四种方式 第一种方式:创建内部类实现点击事件 代码如下: package com.example.dail; import android.text.TextUtils; im ...
- (转)Ext.Button点击事件的三种写法
转自:http://maidini.blog.163.com/blog/static/377627042008111061844345/ ExtJs的写法太灵活了,现在收集了关于Button点击事件的 ...
随机推荐
- 洛谷 P1570 KC喝咖啡【二分答案/最大化平均值模板】
题目描述 话说KC和SH在福州的时候常常跑去85°C喝咖啡或者其他的一些什么东西. 这天,KC想要喝一杯咖啡,服务员告诉他,现在有n种调料,这杯咖啡只可以加入其中的m种(当然KC一定会加入m种,不会加 ...
- CF 1005B Delete from the Left 【模拟数组操作/正难则反】
You are given two strings s and t. In a single move, you can choose any of two strings and delete th ...
- codeforces 869A The Artful Expedient【暴力枚举/亦或性质】
A. time limit per test 1 second memory limit per test 256 megabytes input standard input output stan ...
- Codeforces 855E - Salazar Slytherin's Locket
855E - Salazar Slytherin's Locket 题意 给出一个区间,问这个区间内有多少个数满足,将这个数转化为某个进制后,所有数的数量都为偶数. 分析 谁能想到 数位DP 的裸题竟 ...
- 单词接龙(dragon)(BFS)
单词接龙(dragon) 时间限制: 1 Sec 内存限制: 64 MB提交: 12 解决: 5[提交][状态][讨论版] 题目描述 单 词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已 ...
- 【set】bzoj3715 [PA2014]Lustra
对每种属性开一个set,只要某个厂家符合该属性的最值,就加进set,最后判断是否有某个厂家在4个set里都存在即可. #include<cstdio> #include<set> ...
- 安装scrapy报错问题解决
今天在安装scrapy时候,最后一步出现下面报错(操作系统为centerOS 6.4) error: Setup script exited with error: command 'gcc' fai ...
- Matlab图形中输入希腊字母
xlabel('\beta'); ylabel('\delta'); 希腊字母等特殊字符用 \加拼音 如: α \alpha β \beta γ \gamma θ \theta Θ \Theta Г ...
- 阿里云乌班图16配置-PHP环境(包括mysql及apache安装)
1. 安装apache apt-get update apt-get install apache2 service apache2 restart 通过浏览器访问服务器的IP,如果出现Apac ...
- 转载:win10 下安装32位的Oracle 11g 客户端(问题:环境不满足最低要求)
1. 在安装文件夹中,找 stage->cvu->cvu_prereq.xml文件. 2. 用记事本打开其xml文件进行编辑,加下面一段保存. <OPERATING_SYSTEM R ...