android – 按钮上的单击,按下和释放事件

前端之家收集整理的这篇文章主要介绍了android – 按钮上的单击,按下和释放事件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何检测按钮的单击,按下和释放状态.我想在这些状态下执行不同的功能.点击我想调用function1,按下我想调用function2然后在接收时我想调用function3.

我们可以使用View.OnClickListener检测点击状态.我们可以使用View.OnTouchListener检测Button的Pressed和Released状态,并处理ACTION_DOWN和ACTION_UP.我能够单独检测这些状态,但不能一起检测.

下面是OnCLickListener的代码.

button.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            System.out.println(" clicked ");
        }
    });

下面是OnTouchListener的代码.

button.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v,MotionEvent event) {
            switch(event.getAction()) {
                case MotionEvent.ACTION_DOWN:
                    System.out.println(" pressed ");
                    return true;
                case MotionEvent.ACTION_UP:
                    System.out.println(" released ");
                    return true;
            }
            return false;
        }
    });

当我在Button上设置单击并触摸侦听器时,Click事件永远不会被调用.相反,我接受了压制和释放状态.

我怎样才能一起处理这三种状态?

编辑:

添加了我使用过的OnClickListener和OnTouchListener代码.

解决方法

改变返回true;内部情况MotionEvent.ACTION_DOWN:和案例MotionEvent.ACTION_UP:返回false;或休息;

猜你在找的Android相关文章