Я работаю с Blackberry сенсорным Event и мне нужно обработать TouchEvent.MOVE
, TouchEvent.UP
и TouchEvent.DOWN
двигаться карусель изображений и TouchEvent.CLICK
генерировать некоторые конкретные действия.касания событий Blackberry Срабатывает Несколько раз
Моя проблема в том, что метод 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(
) не получает срабатывает, потому что нет никакого фактического движения на карусели изображений, я получаю удаленное поле, которое необходимо обновить его содержимое.
На всех ежевиках, кроме оригинальной бури 9500, CLICK и DOWN являются синонимами и всегда встречаются вместе. Аналогичным образом, UNCLICK и UP всегда встречаются вместе. Вы должны просто игнорировать события UP и DOWN, так как 9500 устройств полностью вымерли. – adwiv