小编rm8*_*m8x的帖子

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

如何检测按钮的单击,按下和释放状态.我想在这些状态下执行不同的功能.点击我想调用function1,按下我要调用function2,接收时我想调用function3.

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

下面是OnCLickListener的代码.

button.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            System.out.println(" clicked ");
        }
    });
Run Code Online (Sandbox Code Playgroud)

下面是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;
        }
    });
Run Code Online (Sandbox Code Playgroud)

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

我怎样才能一起处理这三个州?

编辑:

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

android ontouchlistener onclicklistener

8
推荐指数
2
解决办法
1万
查看次数

标签 统计

android ×1

onclicklistener ×1

ontouchlistener ×1