次の問題は 2.1 に固有のようで、エミュレータと nexus の両方で発生します。同じ例は、私がテストした他のプラットフォームでも問題なく動作します ( 1.5, 1.6 and 2.0 emulators
)。
この投稿で説明されているように、作成されたgestureListenerを追加しました。違いは、contextMenu も登録されている TextView にリスナーを追加したことです。つまり、次のような sth です。
onCreate(...) {
...
// Layout contains a large TextView on which I want to add a context menu
tv = findViewById(R.id.text_view);
tv.registerForContextMenu(this);
// create the gestureListener according above mentioned post.
gestureListener = ...
// set the listener on the text-view
tv.setOnTouchListener(gestureListener);
...
}
テストすると、正しいジェスチャは問題なく認識されますが、1回おきにコンテキストメニューが開かれます。同じ例が 2.1 以外のプラットフォームで動作しているため、問題は自分のコードではないと感じています...
提案に感謝します。
更新: 戻り値がどこかで反転しているようです。onFling() が「間違った」値、つまり、イベントがスキップされたときに true を返し、イベントが消費されたときに false を返すようにすると、2.1 で正しく動作します。もちろん、それは他のプラットフォームでは機能しません。い回避策の時間のようです...