物联网大赛 - 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 ...
随机推荐
- myBatis批量添加实例
<!-- 批量添加中转地数据 --> <insert id="addBatch" parameterType="com.isoftstone. ...
- js中获取url参数
function getUrlVars() { var vars = [], hash; var hashes = window.location.href.slice(window.location ...
- 【spring AOP】AspectJProxyFactory
AspectJProxyFactory,可能大家对这个比较陌生,但是@Aspect这个注解大家应该很熟悉吧,通过这个注解在spring环境中实现aop特别的方便. 而AspectJProxyFacto ...
- lucene的索引查询
package com.hope.lucene;import org.apache.lucene.document.Document;import org.apache.lucene.document ...
- Linux脚本教程
Linux_Shell_脚本参数接收键盘输入 #!/bin/bash #提示"请输入姓名"并等待30秒,把用户的输入保存入变量name中 read -t 30 -p "请 ...
- Ajax异步更新网页(使用原生JavaScript)
一.页面代码 <!DOCTYPE html> <html> <head> <title>MyHtml.html</title> <me ...
- PMP过程组与知识领域
过程组知识领域 启动 规划 执行 监控 结尾 整合管理 制定项目章程 制定项目计划 指导与管理项目工作 监控项目工作 结束项目过程或阶段 项目管理知识 实施整体变更控制 范围管理 规划范围管理 确认范 ...
- 项目的基本概念(Project)
<Project2016 企业项目管理实践>张会斌 董方好 编著 我一看到这个标题就头疼,好吧,又是概念,好在我不要参加相关的考试,否则文字连同标点符号都得背%¥#%#~ 张同学说,项目& ...
- CVE 2021-44228 Log4j-2命令执行复现及分析
12月11日:Apache Log4j2官方发布了2.15.0 版本,以修复CVE-2021-44228.虽然 2.15.0 版本解决了Message Lookups功能和JNDI 访问方式的问题,但 ...
- TensorFlow.NET机器学习入门【1】开发环境与类型简介
项目开发环境为Visual Studio 2019 + .Net 5 创建新项目后首先通过Nuget引入相关包: SciSharp.TensorFlow.Redist是Google提供的TensorF ...