我正在使用 Blackberry Touch 事件,我需要处理TouchEvent.MOVE,TouchEvent.UP并TouchEvent.DOWN移动图像轮播并TouchEvent.CLICK生成一些特定的动作。
我的问题是该touchEvent()方法被多次调用。我怎样才能防止这种情况?因为行为变得一团糟。
例如:当我只想捕获TouchEvent.CLICK事件时,UP-DOWN-MOVE-CLICK 会一个接一个地触发。
我的代码执行以下操作:
protected boolean touchEvent(TouchEvent message) {
if (message.getEvent() == TouchEvent.CLICK) {
//CHANGE THE CONTENT OF A FIELD
return true;
} else if ((message.getEvent() == TouchEvent.MOVE)
|| (message.getEvent() == TouchEvent.UP)
|| (message.getEvent() == TouchEvent.DOWN)) {
//DELETE THE FIELD
//MOVE A CAROUSEL OF IMAGES
} else {
return false;
}
}
public void moverTouch(int dx) {
//ADD THE FIELD PREVIOUSLY DELETED
}
如您所见,当CLICK事件被捕获时,我需要更改字段的内容,但是当MOVEor UPorDOWN事件被捕获时,我需要Field从他的经理那里删除它,对图像轮播做一些处理,然后重新添加之前删除的字段。
轮播移动部分工作正常,但是当我尝试捕获CLICK事件时,其他事件也被触发,但是moverTouch() 函数没有被触发,因为图像的轮播上没有实际移动,我结束了有一个已删除的字段,我需要更新其内容。