Android增加监听的三种实现方式
在Android中,为一个按钮增加监听的方式有五种
1.匿名内部类
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//加载布局文件
setContentView(R.layout.activity_main);
//获得布局中的按钮
btn = (Button) findViewById(R.id.btn);
//为按钮增加匿名内部类监听
btn.setOnClickListener(new OnClickListener() { @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
//打印提示信息
Toast.makeText(MainActivity.this, "匿名内部类实现监听", Toast.LENGTH_SHORT).show();
}
});
}
2.内部类
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//加载布局文件
setContentView(R.layout.activity_main);
//获得布局中的按钮
btn = (Button) findViewById(R.id.btn);
//内部类实现点击监听
btn.setOnClickListener(new MyClickListener());
}
//定义一个内部类
class MyClickListener implements OnClickListener{ @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "内部类实现监听", Toast.LENGTH_SHORT).show();
} }
3.实现接口
定义的Activity实现OnClickListener接口,并重新onClick()方法
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//加载布局文件
setContentView(R.layout.activity_main);
//获得布局中的按钮
btn = (Button) findViewById(R.id.btn);
//增加监听,传递this对象,this代表的是被点击的控件
btn.setOnClickListener(this);
} @Override
public void onClick(View view) {
// TODO Auto-generated method stub
switch (view.getId()) {
case R.id.btn:
Toast.makeText(MainActivity.this, "实现接口实现监听", Toast.LENGTH_SHORT).show();
break;
}
}
4.在布局文件中增加监听
<Button
android:id="@+id/btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="left|center_vertical"
android:text="第一个按钮"
android:onClick="click"/><!--说明:click为activity中的方法-->
public void click(View view){/**View参数是必须的,不传递参数会抛出运行异常**/
Toast.makeText(MainActivity.this, "使用布局文件中增加按钮点击事件", Toast.LENGTH_SHORT).show();
}
Android增加监听的三种实现方式的更多相关文章
- extjs组件添加事件监听的三种方式
extjs对组件添加监听的三种方式 在定义组件的配置时设置 如代码中所示: Java代码 xtype : 'textarea', name : 'dataSetField', labelSe ...
- Android开发入门——Button绑定监听事件三种方式
import android.app.Activity; import android.os.Bundle;import android.view.View;import android.widget ...
- Android Listener 监听的几种写法
Android中,View的Listener方法,在是否使用匿名类匿名对象时,有各种不同的写法. OnClickListener和其他Listener方法一样,都是View类的接口,重载实现后就能使用 ...
- 王立平--android事件监听的3种方式
第一种通常在activity组件的oncreate事件中直接定义,直接动作. 这样的方式每一个控件都定义一次.通常不方便. Button btn = (Button) findViewById(R.i ...
- Android开发——View滑动的三种实现方式
0. 前言 Android开发中,我们常常需要View滑动实现一些绚丽的效果来优化用户体验.一般View的滑动可以用三种方式实现. 转载请注明出处:http://blog.csdn.net/seu ...
- Android 沉浸式状态栏的三种实现方式
沉浸式状态栏 Google从android kitkat(Android 4.4)開始,给我们开发人员提供了一套能透明的系统ui样式给状态栏和导航栏,这种话就不用向曾经那样每天面对着黑乎乎的上下两条黑 ...
- Java事件监听的四种实现方式
1.事件对象: 一般继承自java.util.EventObject对象,由开发者自行定义. 2.事件源: 就是触发事件的源头,不同的事件源会触发不同的事件类型. 3.事件监听器: 事件监听器负责监听 ...
- oracle 登录数据库时报 无监听 的一种解决方式(监听日志文件达到4g默认上限)
问题:登录服务器时 报无监听服务 检查步骤: 1.进入sqlplus查看数据库的状态,显示当前数据库的状态为OPEN 脚本:select status from v$Instance; 2.检查数据库 ...
- [转]extjs组件添加事件监听的三种方式
原文地址:http://blog.csdn.net/y6300023290/article/details/18989635 1.在定义组件配置的时候设置 xtype : 'textarea', na ...
随机推荐
- 生成AWK快照的方法
1.首先在用oracle用户登陆执行sqlplus命令用dba用户执行: exec DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT (flush_level=> ...
- IIS6、IIS7和IIS8各版本的差别
一.写在前面 目前市面上所用的IIS版本估计都是>=6.0的.所以我们主要以下面三个版本进行讲解 服务器版本 IIS默认版本 server2003 6.0 server2008 7.0 serv ...
- HDOJ/HDU 2163 Palindromes(判断回文串~)
Problem Description Write a program to determine whether a word is a palindrome. A palindrome is a s ...
- 洛谷P1407 工资
洛谷P1407 工资 本题地址:http://www.luogu.org/problem/show?pid=1407 题目描述 有一家世界级大企业,他们经过调查,发现了一个奇特的现象,竟然在自己的公司 ...
- fork和缓冲区
fork在面试中经常被问到,在这里复习一下. frok创建子进程,父子进程共享.text段,子进程获得父进程数据段.堆和栈的副本,由于在fork之后经常跟随者exec,所以很多实现并不执行父进程数据段 ...
- canvas 俄罗斯方块
<!doctype html> <html> <body> <canvas id="can" width="360px" ...
- 使用webdav实现文档共享
1.PC1上开启WebDAV的服务,添加创建规则:运行访问的路径.运行访问的用户(这里的用户是指PC1上的用户名和密码).访问权限
- ubuntu 安装软件(apt源)
最近使用docker 构建python3的环境: 进入容器发现 连个vi命令多没有... 1.安装一个呗: apt-get 报错:root@22f41d59e3b2:~# apt-get instal ...
- Android解析qq聊天记录表情
偶然在一个需求中需要解析qq聊天记录表情,表情的格式是以/开始,比如:你好啊?/微笑,在网上找了半天,也没能找到一个比较合适的,所以准备自己实现一下,首先要将表情图片和表情字符对上号,我想了几种解决方 ...
- ACMDP之最长公共子序列长度—HDU1159
Common Subsequence Problem Description A subsequence of a given sequence is the given sequence with ...