私は Blackberry Touch Event を使用しています。 を処理し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
イベントがキャプチャされたときにフィールドの内容を変更する必要がありますが、MOVE
またはUP
またはイベントがキャプチャされたときに、マネージャーからDOWN
それを削除し、画像のカルーセルを操作してから、Field
以前に削除したフィールドを再度追加します。
カルーセルの移動部分は正常に機能しますが、イベントだけをキャプチャしようとするCLICK
と、他のイベントもトリガーされますが、moverTouch(
画像のカルーセルに実際の動きがないため)関数がトリガーされず、結局その内容を更新する必要がある削除されたフィールドを使用します。