我在RecyclerView上查找了很多关于滑动功能的教程。当我连接ItemTouchHelper时,它对ViewHolder没有影响。
我已经在onSwiped方法中放置了一个断点,但当我试图滑动时,它甚至都不会到达那里。我做了一个新项目,用一些视图持有者实现了一个随机的回收视图。我连接了ItemTouchHelper,也遇到了同样的问题。
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
val model = ViewModelProviders.of(this)[ViewModel::class.java]
val dues = model.dues
val adapter = Adapter<Due>(R.layout.card_view_dues, fragmentManager!!)
dues.observe(this,
Observer<MutableList<Due>> {
adapter.list = it
}
)
val itemTouchHelper = object: SimpleCallback(0, LEFT and RIGHT) {
override fun onMove(
recyclerView: RecyclerView,
viewHolder: RecyclerView.ViewHolder,
target: RecyclerView.ViewHolder
) = false
override fun onSwiped(viewHolder: RecyclerView.ViewHolder, direction: Int) {
dues.value?.removeAt(viewHolder.adapterPosition) //set breakpoint here
adapter.notifyDataSetChanged()
}
}
ItemTouchHelper(itemTouchHelper).attachToRecyclerView(recyclerView)
recyclerView.apply {
layoutManager = LinearLayoutManager(activity!!.applicationContext)
setHasFixedSize(false)
this.adapter = adapter
}
}我还替换了:
ItemTouchHelper(itemTouchHelper).attachToRecyclerView(recyclerView)使用
ItemTouchHelper(itemTouchHelper).attachToRecyclerView(activity!!.findViewById<RecyclerView>(R.id.recyclerView))但它似乎仍然不起作用。到底出了什么问题?
发布于 2019-11-10 02:15:17
您向SimpleCallback提供了错误的参数
val itemTouchHelper = object: SimpleCallback(0, LEFT and RIGHT) {相反,你应该
val itemTouchHelper = object: SimpleCallback(0, LEFT or RIGHT) {https://stackoverflow.com/questions/58050019
复制相似问题