事件分发机制:长按事件onLongClickListener返回值的意义

Posted zhangjin1120

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了事件分发机制:长按事件onLongClickListener返回值的意义相关的知识,希望对你有一定的参考价值。

 ivTest.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                return false;
            }
        });
  • 设置为false。

    • 长按会执行onLongClick,手指抬起时会执行onClick。
    • 点击只执行onClick。
      测试一下长按:
        ivTest.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                Log.i(TAG, "长按事件");
                return false;
            }
        });

        ivTest.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.i(TAG, "点击事件");
            }
        });

在这里插入图片描述

  • 设置为true

    • 长按后,只执行onLongClick,不会执行onClick。
    • 点击,onClick也照常执行,当然也只执行onClick。
      测试一下长按:
        ivTest.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                Log.i(TAG, "长按事件");
                return true;
            }
        });

        ivTest.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.i(TAG, "点击事件");
            }
        });

在这里插入图片描述

以上是关于事件分发机制:长按事件onLongClickListener返回值的意义的主要内容,如果未能解决你的问题,请参考以下文章

android ontouch事件分发机制

Android触摸事件分发机制

事件分发机制梳理

事件分发,事件消费,事件传递机制

View的事件分发机制解析

Android触摸事件分发机制完全解析《一》