onDoubleTapEventが連続して呼ばれる

GestureDetector.OnDoubleTapListenerを実装したクラスにて、ダブルタップでイベントを起こした場合、1度しかダブルタップしていないにもかかわらず何度かonDoubleTapEvent()が呼ばれるケースがあるということが判明した。

私は現在1つのアプリしか構築していないので、原因または、確実に現れるケースというものを把握出来ていないのだが、
こちら(http://bina1204.blog47.fc2.com/blog-entry-111.html)の方はMapViewで、私はSurfaceViewで発生している。
(MapViewではSurfaceViewが使われているのかな?)

とりあえず、連続で呼ばれてしまう場合に発生するイベントを追跡してみた結果
以下のように呼ばれている。

onDown → onShowPress → onSingleTapUp → onDoubleTap → onDoubleTapEvent
→ onDown(2回目) → onShowPress(2回目) → onDoubleTapEvent(2回目)

原因は分からないが、一部イベントが2度呼ばれている。
私のアプリはダブルタップしたあと、Messageを投げる仕組みになっているので、
そのへんが原因かもしれないと思ったが、やはり関係ないようで改善はされなかった。

とりえあず、原因がわかるまでは仕方ないので2度呼ばれないonDoubleTapにフラグを仕込むことで
2度目のonDoubleTapEventの際に処理が行われないようすることで対応した。

この手法は先に紹介したサイトの方のアイディアをいただきました。

androidは謎だ・・・