繁体   English   中英

event.getAction()==当setOnTouchListener返回false时,MotionEvent.ACTION_DOWN不为true

[英]event.getAction() == MotionEvent.ACTION_DOWN is not true when setOnTouchListener returns false

我需要实现onItemLongPressListener以及onTouchListener。它们不能一起工作所以我必须在ontouch listner中返回false,而其他项目长按监听器也会被触发。

当我触摸imageButton时,我需要更改图像按钮,但由于我的触摸侦听器返回false,因此图像保持在按下状态。

当我不再触摸按钮时,如何更改按钮图像?

imageView.setOnTouchListener(new OnTouchListener() {

                @Override
                public boolean onTouch(View v, MotionEvent event) {
                    if (event.getAction() == MotionEvent.ACTION_DOWN) {
                        imageView.setImageResource(mThumbIdsPressed[position]);
                    } else {
                        imageView.setImageResource(mThumbIds[position]);
                    }
                    recordAudio.startPlaying(position);

                    return false;
                }
            });

您可以使用GestureDetector(如SimpleOnGestureListener )来区分:

我刚刚为我的项目做了这个,部分基于你现有的代码(顺便说一句,谢谢你)。 我这样做的方式是代替“其他”,我做了“其他如果”,如下所示。

@Override
public boolean onTouch(View v, MotionEvent event) {
    // TODO Auto-generated method stub

    if(event.getAction() == MotionEvent.ACTION_UP){
        touching = false;
    }else if(event.getAction() == MotionEvent.ACTION_DOWN){
        touching = true;
    }

    touch_x = event.getX();
    touch_y = event.getY();

    return true;
}

触摸布尔值在渲染线程中进一步使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM