在RecyclerView

时间:2017-07-20 19:24:40

标签: android android-recyclerview seekbar swipe-gesture

我创建了一个带有“交换项位置”和“使用轻扫手势删除项目”的RecyclerView,如here所述。一切都很好,除了物品中包含的搜索栏。我只能通过点击某个位置调整搜索条值,但不能通过点击可拖动的拇指然后向左或向右移动来更改值。在这些情况下会发生的情况是,滑动手势会从父级RecyclerView中删除该项目。

如果在其上发生滑动手势时更改搜索栏的值,并且只在搜索栏外部执行滑动手势时将其删除,我该如何实现?

1 个答案:

答案 0 :(得分:0)

@Ben P。:我创建了自己的类,它从LinearLayout扩展,实现了onInterceptTouchEvent,但我无法中断滑动手势。我想因为我需要拦截RecyclerView方法,但是,这个类没有提供可以覆盖的onInterceptTouchEvent方法。

相反,我解决了我的问题如下:我在RecyclerView中显示了两种类型的视图(默认编辑),只有编辑< / em> type包含SeekBar。由于绝对不允许删除当前编辑的项目,因此我在getMovementFlags方法中忽略了ViewHolder的类型,我从ItemTouchHelper.Callback()覆盖了该文件。

(很抱歉,我没有提到两种视图类型的信息。)