2016-06-12 14 views
0

onCreateContextMenu(メニューレイアウトが膨れている部分)とonContextItemSelectedメニューを実装するフラグメントがあり、RecyclerViewで長押しを検出するようにaddOnItemTouchListenerを設定しました。このリスナーにGestureDetectorインスタンスを作成し、onLongPressメソッドをオーバーライドしました。私はイベントが(トーストメッセージを印刷して)キャプチャされているかどうかを試してみると、うまくいきます。しかし、このタッチリスナーを使用して長い押しがあるときにコンテキストメニューを表示しようとすると(私の推論は、イベントがビューグループの子に伝わらないようにリスナーを傍受したいからです)、それは長押し後のコンテキストメニューは表示されません。 registerForContextMenu(recyclerView)も適用しましたが、 openContextMenu(recyclerView)を適用しようとしましたが、コンパイラはそのような宣言を持つメソッドがないことを検出します。GestureDetector onLongPressを使用してフローティングコンテキストメニューを開く[ANDROID]

答えて

0

明らかに、私はフラグメントからopenContextMenuを呼び出していて、メソッドはアクティビティでのみ使用可能です。したがって、私はgetActivity()。openContextMenuを使用し、それが動作します。

関連する問題