3

次の問題は 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 で正しく動作します。もちろん、それは他のプラットフォームでは機能しません。い回避策の時間のようです...

4

1 に答える 1

1

リンクsteelbytesをありがとう。前回のコメント (2010 年 12 月 27 日) で cancel-and-return-false ソリューションを実装しましたが、私の onFling イベントのためだけに、1.6 および 2.x デバイスで動作するようです。

于 2011-02-18T23:31:08.097 に答える