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="密码可见" />

  

原文地址:https://www.cnblogs.com/kekeoutlook/p/8383818.html