问题描述
1.itemtouchhelper 起初运行良好。 Kotlin 代码如下
val itemtouchhelper = itemtouchhelper(object: itemtouchhelper.Callback(){
override fun getMovementFlags(recyclerView: RecyclerView,viewHolder:RecyclerView.ViewHolder): Int{
val dragFlag = itemtouchhelper.UP | itemtouchhelper.Down
val swipeFlags = 0
return makeMovementFlags(dragFlags,swipeFlags)
}
override fun onMove(recyclerView: RecyclerView,viewHolder: RecyclerView.ViewHolder,target: RecyclerView.ViewHolder){
val fromPosition = viewHolder.adapterPosition
val toPosition = target.adapterPosition
Collections.swap(mList,fromPosition,toPosition)
mAdapter.notifyItemmoved(fromPosition,toPosition)
}
override fun onSwiped(viewHolder: RecyclerView.ViewHolder,direction: Int){
}
})
itemtouchhelper.attachToRecyclerView(mRecyclerView)
2.如果我将Padding设置为RecyclerView,当我尝试拖动item时会出现错误
mRecyclerView.setPadding(0,250,0) // (left,top,right,bottom)
当recyclerview在其顶部时,我们可以很容易地拖动项目(recyclerview尚未滚动,它在其顶部)。但是,如果 recyclerview 不在其顶部(recyclerview 已向下滚动),则当我拖动该项目时,它会立即到达最高位置,而不是我拖动到的位置。
观看 gif 以了解更多详细信息,有人可以帮助我 :(
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)