1

我正在使用两个ItemTouchHelper对象,一个用于向左滑动和相应的操作,另一个用于向右滑动和相应的操作。在我的列表中,很少有项目必须只启用左滑动,很少有项目必须只启用右滑动。

但问题是,如果我将 my 附加RecyclerView到两个 Helper 对象,那么每个对象都可以在两个方向上滑动。

是否有任何方法可以控制ItemTouchListener中的 Swipe to Dismiss 的单个列表项?

PS 对外部库不感兴趣

4

1 回答 1

2

使用ItemTouchHelper.Callback.getMovementFlags(...)(或替代ItemTouchHelper.SimpleCallback.getSwipeDirs(...))。它获取ViewHolderas 参数。

如果表示的项目可以向左或向右滑动或无滑动,则ViewHolder在 in上设置一个标志。RecyclerView.Adapter.onBindViewHolder(...)在上述方法中查询该标志并返回相应的值。

于 2016-09-01T12:29:37.827 回答