zoukankan      html  css  js  c++  java
  • 3.1.1 基于监听的事件处理机制

    1.基于监听的时间处理机制模型:

    流程模型图:

    文字表述:

    事件监听机制中由事件源事件事件监听器三类对象组成

    处理流程如下:

    •  Step 1:为某个事件源(组件)设置一个监听器,用于监听用户操作
    •  Step 2:用户的操作,触发了事件源的监听器 
    • Step 3:生成了对应的事件对象 
    • Step 4:将这个事件源对象作为参数传给事件监听器 
    • step 5:事件监听器对事件对象进行判断,执行对应的事件处理器(对应事件的处理方法)

    归纳:

    事件监听机制是一种委派式的事件处理机制,事件源(组件)事件处理委托给事件监听器 当事件源发生指定事件时,就通知指定事件监听器,执行相应的操作

    2.五种不同的使用形式:

    我们以下面这个: 简单的按钮点击,提示Toast信息的程序;使用五种不同的形式来实现!

    效果图:

    1)直接用匿名内部类

    平时最常用的一种:直接setXxxListener后,重写里面的方法即可; 通常是临时使用一次,复用性不高!

     实现代码如下:MainAcivity.java:

    package com.jay.example.innerlisten;    
        
    import android.os.Bundle;    
    import android.view.View;    
    import android.view.View.OnClickListener;    
    import android.widget.Button;    
    import android.widget.Toast;    
    import android.app.Activity;    
        
        
    public class MainActivity extends Activity {    
        private Button btnshow;    
            
        @Override    
        protected void onCreate(Bundle savedInstanceState) {    
            super.onCreate(savedInstanceState);    
            setContentView(R.layout.activity_main);    
    btnshow = (Button) findViewById(R.id.btnshow); btnshow.setOnClickListener(new OnClickListener() {
    //重写点击事件的处理方法onClick() @Override public void onClick(View v) { //显示Toast信息 Toast.makeText(getApplicationContext(), "你点击了按钮", Toast.LENGTH_SHORT).show(); } }); } }

      布局文件加入

    <Button
                android:id="@+id/btnshow"
                android:layout_width="3dp"
                android:layout_height="48dp"
                android:layout_weight="1"
                android:text="密码可见" />
    

      

  • 相关阅读:
    排序算法的稳定性
    字符串处理常用函数
    判断两棵二叉树是否相等
    约瑟夫环
    自加++
    Linux 安装配置 Tomcat
    在 eclipse 中将 web 项目部署到 tomcat 服务器上
    PHP连接MySQL数据库
    logback
    Log4J
  • 原文地址:https://www.cnblogs.com/kekeoutlook/p/8383818.html
Copyright © 2011-2022 走看看