1

私は、ViewPagerに3つの(水平)フラグメント[PAGE]を持つ複雑なレイアウトを持っています。ネストされたRecyclerViewのタッチイベントを傍受して親への伝播を回避するにはどうすればよいですか?

各ページは、いくつかの(垂直の)RecyclerView [CARD]で構成されています。

各カードには、いくつかの項目がある(水平)RecyclerViewがあります。

私の問題は、アイテム間をスワイプすると、touchイベントがviewPagerに伝播して、不要なページが変更されるということです。

画面の特定の領域(最も内側のRecyclerViewで覆われているすべての領域)にタッチすると、タッチイベントの伝播をブロックする方法はありますか?エレメントに触れていない場合でもEVENアイテム、および不要なページの変化を引き起こすが触れる)

http://i.stack.imgur.com/8vfAI.jpg

ここに私の例では、スクロール可能な領域の上にスワイプ、私は他のページに移動できるようにしたくないとき、そこにあります。ヘルプカードが(水平リサイクル用)カスタムRecyclerViewを持っている場合

Example of layout

答えて

0

ため

おかげで、あなたはタッチイベントにrequestDisallowInterceptTouchEvent()を呼び出すことができます。

これは親RecyclerViewを持ち、ViewPagerが水平Recyclerがタッチイベントの受信を停止するまで入力を受け付けなくなります(私が正しく覚えていれば、呼び出しは自分自身をクリーンアップします)。

関連する問題