物联网大赛 - Android学习笔记(三)Android 事件处理
学习目标:
- 了解事件处理概念
- 监听事件处理模型
- 事件与事件监听接口
- 实现事件监听方式
- 回调事件处理模型
- 常见的事件回调方法
- Handler类功能与用法
- Handler更新程序界面
一、监听概念
再用户操作动作时,需要为用户的动作提供响应机制,这种机制就是事件处理
Android提供两套事件处理机制:
>基于监听的事件处理
>基于回调的事件处理
二、事件监听处理模型。
>Event Source(事件源),事件源通常是各个组件,比如按钮、图片按钮、菜单等等
>Event(事件),UI界面发生的特定事情,比如点击、触摸等
>event Listener(事件监听器):负责监听事件源发生的事件,并对事件做出处理
深入理解事件处理模型:

public class MyCoustomerListener extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_coustomer_listener);
Button btn =(Button)findViewById(R.id.btnClick);
btn.setOnClickListener(new myClickListner());
}
//自定义单击事件
class myClickListner implements View.OnClickListener {
@Override
public void onClick(View v) {
Toast.makeText(MyCoustomerListener.this,"单击按钮",Toast.LENGTH_SHORT).show();
}
}
}
事件直接绑定到标签,再安卓的事件中除了setXXXXListener之外,可以直接将事件绑定到标签中

<android.support.v7.widget.AppCompatEditText
android:layout_width="match_parent"
android:id="@+id/Info"
android:layout_height="wrap_content" />
<android.support.v7.widget.AppCompatButton
android:text="单击"
android:layout_width="match_parent"
android:onClick="ClickTest"
android:background="#1AE61A"
android:layout_height="100dp" />
public void ClickTest(View v){
EditText et = (EditText) findViewById(R.id.Info);
et.setText("单击Button按钮");
}
物联网大赛 - Android学习笔记(三)Android 事件处理的更多相关文章
- Android学习笔记(36):Android的两种事件处理方式
Android提供了两种事件处理的方式:基于回调的事件处理 和 基于监听的事件处理. 我们来说的easy理解一点: (1)基于回调的事件处理就是继承GUI组件,并重写该组件的事件处理方法.除了一些特定 ...
- Android Studio安卓学习笔记(三)Android用户界面的设计布局与组件(一)用户界面布局设计(1)
当我们创建了一个安卓项目后,我们会发现真正建立一个完善的安卓项目并不是想象的那么容易.其实和设计GUI可视化界面一样,开发安卓也需要考虑很多方面,主要考虑的还是界面布局和需要的组件. 一:Androi ...
- android学习笔记三--Activity 布局
1.线性布局 标签 :<LinearLayout></LinearLayout> 方向:android:orientation, 垂直:vertical 水平:Horizont ...
- Android学习笔记物理按键事件处理
常见的物理按键: Android为每个物理按键都提供了如下几个回调方法: 代码示例: package com.example.demo3; import androidx.appcompat.app. ...
- Android学习笔记1 android adb启动失败问题 adb server is out of date. killing...
下面是Android的学习笔记,原文地址. 我是使用adb devices出现如下红字错误, 使用第一种方法方法,结果关掉豌豆荚就可以了. android adb启动失败问题 adb server i ...
- Android学习笔记之Android Studio添加新的Activity
1.创建Android项目工程:AndroidTest 创建过程可参考网上诸多教程. 2.添加新的Activity,步骤如下 a. 在layout文件夹上右键,New-Activity-相应Activ ...
- Android学习笔记之 android:collapseColumns ,android:shrinkColumns 和stretchColumns
摘自:http://blog.csdn.net/sjf0115/article/details/7213565/ TableLayout是一个使用复杂的布局,最简单的用法就仅仅是拖拉控件做出个界面,但 ...
- android学习笔记(9)android程序调试学习
相应若水老师的第十四课 一,Log日志输出 Log.v(tag,message); //verbose模式,打印最具体的日志 Log.d(tag,message); // ...
- android学习笔记45——android的数据存储和IO
android的数据存储和IO SharedPreferences与Editor简介 SharedPreferences保存的数据主要是类似于配置信息格式的数据,因此其保存的数据主要是简单的类型的ke ...
- Android学习笔记之Android Studio下创建menu布局文件
1.创建menu文件夹 Android Studio项目中如果没有menu文件夹,在res文件夹右键,new-Android resource directory: 则会弹出下图对话框,在Resour ...
随机推荐
- Vue API 3模板语法 ,指令
条件# v-if# v-if 指令用于条件性地渲染一块内容.这块内容只会在指令的表达式返回 truthy 值的时候被渲染. v-show# v-show 指令也是用于根据条件展示一块内容.v-show ...
- jmeter设置参数化
设置参数化方法有3种 第一种: 1.打开 jmeter,导入badboy录制的脚本 导入后记得选择"step"右键选择change controller ->逻辑控制器-&g ...
- virtualbox Linux安装增强功能
1.点击<设备>--><安装增强功能> 2.创建安装包挂载目录,并挂载 #创建挂载目录 mkdir /mnt/cdrom #挂载光盘内容 mount -t auto -r ...
- Spring(4):Mybatis和Spring整合
第一步:创建数据库 MySQL代码 1 CREATE DATABASE `mybatis` ; 2 3 USE `mybatis`; 4 5 CREATE TABLE `user` ( 6 `id` ...
- Spring Boot中使用Dubbo
高并发下Redis会出现的问题: 缓存穿透 缓存雪崩 热点缓存 一.定义commons工程11-dubboCommons (1) 创建工程 创建Maven的Java工程,并命名为11-dubboCom ...
- Linux内核启动流程(简介)
1. vmlinux.lds 首先分析 Linux 内核的连接脚本文件 arch/arm/kernel/vmlinux.lds,通过链接脚本可以找到 Linux 内核的第一行程序是从哪里执行的: 第 ...
- Redis版本历史
目录 Redis4.0 Redis3.2 Redis3.0 Redis2.8 Redis2.6 Redis4.0 可能出乎很多人的意料,Redis3.2之后的版本是4.0,而不是3.4.3.6.3.8 ...
- Nginx模块之limit_conn & limit_req
limit_conn模块 生效阶段:NGX_HTTP_PREACCESS_PHASE阶段 生效范围:全部worker进程(基于共享内存),进入preaccess阶段前不生效,限制的有效性取决于key的 ...
- Linux 文件属性及详细操作
目录 Linux 文件属性 文件属性信息组成 文件属性概念说明 文件软硬链接说明 硬链接 软链接 补充知识 存储数据相关-inode/block inode: block: 读取文件原理图 Linux ...
- 搞IT的应届生如何写好简历?
本人在互联网大厂和外企做过技术面试官,也有过校招和招聘应届毕业生的经验,所以自认为在这个问题上有一定的发言权. 应届毕业生(其实其他求职者也一样)首先要知道,面试官凭什么决定这份简历有面试机会?而 ...