zoukankan      html  css  js  c++  java
  • Android回调事件传播-android学习之旅(四十五)

    概念简单介绍

    这里写图片描写叙述

    代码演示

    package peng.liu.test;
    
    import android.app.ActionBar;
    import android.app.Activity;
    import android.graphics.Color;
    import android.os.Bundle;
    import android.util.DisplayMetrics;
    import android.view.Display;
    import android.view.KeyEvent;
    import android.view.Menu;
    import android.view.View;
    import android.view.Window;
    import android.view.WindowManager;
    import android.widget.Button;
    
    
    public class MainActivity extends Activity{
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            findViewById(R.id.myButton).setOnKeyListener(new View.OnKeyListener() {
                @Override
                public boolean onKey(View view, int i, KeyEvent keyEvent) {
                    System.out.println("listener on listener");
                    return false;
                }
            });
        }
        @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
            super.onKeyDown(keyCode, event);
            System.out.println("listener on activity");
            return false;
        }
    }
    
    package peng.liu.test;
    
    import android.content.Context;
    import android.content.SyncStatusObserver;
    import android.util.AttributeSet;
    import android.view.KeyEvent;
    import android.widget.Button;
    
    /**
     * Created by lplp on 2015/6/10.
     */
    public class MyButton extends Button{
        public MyButton(Context context,AttributeSet attributeSet){
            super(context,attributeSet);
        }
    
        @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
            super.onKeyDown(keyCode, event);
            System.out.println("listener on Button");
            return false;
        }
    }
    
    <?

    xml version="1.0" encoding="utf-8"?

    > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <peng.liu.test.MyButton android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/myButton" /> </LinearLayout>

    打印顺序

    listener on listener
    listener on Button
    listener on activit
    说明先到绑定的监听器,后到Button复写回调的监听器。最后到acticity实现的监听器。

  • 相关阅读:
    FastAPI 中间件(二) 高级中间件
    FastAPI 中间件(一) 自定义中间件
    FastAPI 进阶知识(三) 错误处理
    FastAPI 进阶知识(二) JSON兼容编码
    FastAPI 进阶知识(一) 表单数据
    FastAPI 基础学习(十四) Response自定义状态码
    FastAPI Response(一) Response模型
    FastAPI 基础学习(十三) Header操作
    FastAPI 基础学习(十二) Cookie操作
    FastAPI 基础学习(十一) 复杂数据类型
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/5122400.html
Copyright © 2011-2022 走看看