【问题标题】:ItemTouchHelper does not initiate swipeItemTouchHelper 不启动滑动
【发布时间】:2020-01-22 18:58:25
【问题描述】:

我查阅了许多关于 RecyclerView 的滑动功能的教程。当我附加 ItemTouchHelper 时,它对 ViewHolder 没有影响。

我在 onSwiped 方法中放置了一个断点,但是当我尝试滑动时它甚至没有到达那里。我做了一个新项目,只是用一些视图持有者实现了一个随机的 recyclerview。我附加了 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))

但它似乎仍然不起作用。可能出了什么问题?

【问题讨论】:

    标签: android kotlin android-recyclerview


    【解决方案1】:

    您向 SimpleCallback 提供了错误的参数

        val itemTouchHelper = object: SimpleCallback(0, LEFT and RIGHT) {
    

    你应该

        val itemTouchHelper = object: SimpleCallback(0, LEFT or RIGHT) {
    

    【讨论】:

      猜你喜欢
      • 2017-02-07
      • 2019-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-25
      • 2017-12-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多