首页 文章

AndroidX itemTouchListener

提问于
浏览
0

我刚刚将一个项目迁移到了androidX,并设法解决了除1之外的所有问题 . 这是下面的触摸监听器的实现 .

private fun setItemTouchListner() {
    val touchListner = object: ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT) {
        override fun onMove(recyclerView: androidx.recyclerview.widget.RecyclerView?, viewHolder: androidx.recyclerview.widget.RecyclerView.ViewHolder?, target: androidx.recyclerview.widget.RecyclerView.ViewHolder?): Boolean {
            return false
        }

        override fun onSwiped(viewHolder: androidx.recyclerview.widget.RecyclerView.ViewHolder?, direction: Int) {
            var rec: ChargeRecord? = null
            if (viewHolder != null) {
                rec = mAdapter?.getRecord((viewHolder.adapterPosition))
            }


            // delete record from cloud

            if (rec != null) {
                firebase?.child(rec.id)?.removeValue()
                recordsViewModel?.deleteRecord(rec)
            }

            // remove record from list
            if (viewHolder != null) {
                records_list.adapter.notifyItemRemoved(viewHolder.adapterPosition)
            }
        }

    }
    val itemTouchHelper = ItemTouchHelper(touchListner)
    itemTouchHelper.attachToRecyclerView(records_list)
}

我得到一个对象不是抽象错误,覆盖没有做任何错误 . 我搜索过并尝试重新格式化代码,但似乎无法修复它 . 任何指导将不胜感激 .

干杯

1 回答

  • 0

    啊啊经过很多寻找和思考我终于解决了,我不得不重新调整移动和滑动方法 .

    这解决了这个问题

    干杯

相关问题