学习目标:

  1. 了解事件处理概念
  2. 监听事件处理模型
  3. 事件与事件监听接口
  4. 实现事件监听方式
  5. 回调事件处理模型
  6. 常见的事件回调方法
  7. Handler类功能与用法
  8. Handler更新程序界面

一、监听概念

再用户操作动作时,需要为用户的动作提供响应机制,这种机制就是事件处理

Android提供两套事件处理机制:

>基于监听的事件处理

>基于回调的事件处理

二、事件监听处理模型。

>Event Source(事件源),事件源通常是各个组件,比如按钮、图片按钮、菜单等等

>Event(事件),UI界面发生的特定事情,比如点击、触摸等

>event  Listener(事件监听器):负责监听事件源发生的事件,并对事件做出处理

图 事件处理示意图

深入理解事件处理模型:

  1. public class MyCoustomerListener extends AppCompatActivity {
  2. @Override
  3. protected void onCreate(Bundle savedInstanceState) {
  4. super.onCreate(savedInstanceState);
  5. setContentView(R.layout.activity_my_coustomer_listener);
  6. Button btn =(Button)findViewById(R.id.btnClick);
  7. btn.setOnClickListener(new myClickListner());
  8. }
  9. //自定义单击事件
  10. class myClickListner implements View.OnClickListener {
  11. @Override
  12. public void onClick(View v) {
  13. Toast.makeText(MyCoustomerListener.this,"单击按钮",Toast.LENGTH_SHORT).show();
  14. }
  15. }
  16. }

事件直接绑定到标签,再安卓的事件中除了setXXXXListener之外,可以直接将事件绑定到标签中

  1. <android.support.v7.widget.AppCompatEditText
  2. android:layout_width="match_parent"
  3. android:id="@+id/Info"
  4. android:layout_height="wrap_content" />
  5. <android.support.v7.widget.AppCompatButton
  6. android:text="单击"
  7. android:layout_width="match_parent"
  8. android:onClick="ClickTest"
  9. android:background="#1AE61A"
  10. android:layout_height="100dp" />
  1. public void ClickTest(View v){
  2. EditText et = (EditText) findViewById(R.id.Info);
  3. et.setText("单击Button按钮");
  4. }

物联网大赛 - Android学习笔记(三)Android 事件处理的更多相关文章

  1. Android学习笔记(36):Android的两种事件处理方式

    Android提供了两种事件处理的方式:基于回调的事件处理 和 基于监听的事件处理. 我们来说的easy理解一点: (1)基于回调的事件处理就是继承GUI组件,并重写该组件的事件处理方法.除了一些特定 ...

  2. Android Studio安卓学习笔记(三)Android用户界面的设计布局与组件(一)用户界面布局设计(1)

    当我们创建了一个安卓项目后,我们会发现真正建立一个完善的安卓项目并不是想象的那么容易.其实和设计GUI可视化界面一样,开发安卓也需要考虑很多方面,主要考虑的还是界面布局和需要的组件. 一:Androi ...

  3. android学习笔记三--Activity 布局

    1.线性布局 标签 :<LinearLayout></LinearLayout> 方向:android:orientation, 垂直:vertical 水平:Horizont ...

  4. Android学习笔记物理按键事件处理

    常见的物理按键: Android为每个物理按键都提供了如下几个回调方法: 代码示例: package com.example.demo3; import androidx.appcompat.app. ...

  5. Android学习笔记1 android adb启动失败问题 adb server is out of date. killing...

    下面是Android的学习笔记,原文地址. 我是使用adb devices出现如下红字错误, 使用第一种方法方法,结果关掉豌豆荚就可以了. android adb启动失败问题 adb server i ...

  6. Android学习笔记之Android Studio添加新的Activity

    1.创建Android项目工程:AndroidTest 创建过程可参考网上诸多教程. 2.添加新的Activity,步骤如下 a. 在layout文件夹上右键,New-Activity-相应Activ ...

  7. Android学习笔记之 android:collapseColumns ,android:shrinkColumns 和stretchColumns

    摘自:http://blog.csdn.net/sjf0115/article/details/7213565/ TableLayout是一个使用复杂的布局,最简单的用法就仅仅是拖拉控件做出个界面,但 ...

  8. android学习笔记(9)android程序调试学习

    相应若水老师的第十四课 一,Log日志输出 Log.v(tag,message);        //verbose模式,打印最具体的日志  Log.d(tag,message);        // ...

  9. android学习笔记45——android的数据存储和IO

    android的数据存储和IO SharedPreferences与Editor简介 SharedPreferences保存的数据主要是类似于配置信息格式的数据,因此其保存的数据主要是简单的类型的ke ...

  10. Android学习笔记之Android Studio下创建menu布局文件

    1.创建menu文件夹 Android Studio项目中如果没有menu文件夹,在res文件夹右键,new-Android resource directory: 则会弹出下图对话框,在Resour ...

随机推荐

  1. myBatis批量添加实例

    <!-- 批量添加中转地数据 -->      <insert id="addBatch" parameterType="com.isoftstone. ...

  2. js中获取url参数

    function getUrlVars() { var vars = [], hash; var hashes = window.location.href.slice(window.location ...

  3. 【spring AOP】AspectJProxyFactory

    AspectJProxyFactory,可能大家对这个比较陌生,但是@Aspect这个注解大家应该很熟悉吧,通过这个注解在spring环境中实现aop特别的方便. 而AspectJProxyFacto ...

  4. lucene的索引查询

    package com.hope.lucene;import org.apache.lucene.document.Document;import org.apache.lucene.document ...

  5. Linux脚本教程

    Linux_Shell_脚本参数接收键盘输入 #!/bin/bash #提示"请输入姓名"并等待30秒,把用户的输入保存入变量name中 read -t 30 -p "请 ...

  6. Ajax异步更新网页(使用原生JavaScript)

    一.页面代码 <!DOCTYPE html> <html> <head> <title>MyHtml.html</title> <me ...

  7. PMP过程组与知识领域

    过程组知识领域 启动 规划 执行 监控 结尾 整合管理 制定项目章程 制定项目计划 指导与管理项目工作 监控项目工作 结束项目过程或阶段 项目管理知识 实施整体变更控制 范围管理 规划范围管理 确认范 ...

  8. 项目的基本概念(Project)

    <Project2016 企业项目管理实践>张会斌 董方好 编著 我一看到这个标题就头疼,好吧,又是概念,好在我不要参加相关的考试,否则文字连同标点符号都得背%¥#%#~ 张同学说,项目& ...

  9. CVE 2021-44228 Log4j-2命令执行复现及分析

    12月11日:Apache Log4j2官方发布了2.15.0 版本,以修复CVE-2021-44228.虽然 2.15.0 版本解决了Message Lookups功能和JNDI 访问方式的问题,但 ...

  10. TensorFlow.NET机器学习入门【1】开发环境与类型简介

    项目开发环境为Visual Studio 2019 + .Net 5 创建新项目后首先通过Nuget引入相关包: SciSharp.TensorFlow.Redist是Google提供的TensorF ...