[英]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 )来区分:
onDown()
,类似于ACTION_DOWN
onSingleTapConfirmed()
或onSingleTapUp()
,类似于ACTION_UP
onLongPress()
为您的长期活动 我刚刚为我的项目做了这个,部分基于你现有的代码(顺便说一句,谢谢你)。 我这样做的方式是代替“其他”,我做了“其他如果”,如下所示。
@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.