使用ItemTouchHelper的startSwipe功能的最佳方法是什么

问题描述 投票:-1回答:1

我创建了一个自定义的LayoutManagerTouchHelper.Callback以拥有类似火种的纸牌堆。我希望布局管理器仅允许第一项具有触摸事件。首先,我覆盖isItemViewSwipeEnabled()ItemTouchHelper.Callback以禁用每个孩子的触摸事件。作为最后一步,我需要允许第一项仅具有触摸事件。但是,我没有这样做。有人知道如何克服吗?

  • 用于创建子视图的StackLayoutManager。

  • StackTouchHelperCallback禁止默认的触摸事件。

  • StackView一个自定义的RecyclerView。

这是我开发的自定义视图层次结构。如果有人提出了某种意见,他们可以帮助我吗?预先感谢。

android android-layout kotlin android-recyclerview itemtouchhelper
1个回答
0
投票

如果您不想允许任何移动,则可以overridegetMovementFlagsmethodreturn 0,否则return方向适当flags

override fun getMovementFlags(recyclerView: RecyclerView, viewHolder:RecyclerView.ViewHolder): Int {
        return if(viewHolder.adapterPosition == 0) /* return appropriate direction flags */ else 0
}
© www.soinside.com 2019 - 2024. All rights reserved.