我正在使用黑莓觸摸事件,我需要處理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(
)函數不會被觸發,因爲有在轉盤上沒有實際的運動的圖像,我結束了一個刪除的領域,我需要更新其內容。
在所有黑莓的原始風暴9500以外,CLICK和DOWN是同義詞,並且總是一起出現。同樣,UNCLICK和UP總是一起出現。您應該忽略UP和DOWN事件,因爲9500設備已經完全滅絕。 – adwiv