как получить данные из recyclerview

У меня есть recyclerview, при смахивании должен срабатываться метод убирающий данный айтем из RoomDB, но для срабатывания метода в него надо передать айтем. В связи с этим вопрос - как получить его из RV?

Mainactivity.kt

var itemTouchHelperCallback: ItemTouchHelper.SimpleCallback = object:ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.RIGHT and ItemTouchHelper.LEFT) {
    override fun onMove(recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder, target: RecyclerView.ViewHolder): Boolean {
        return false
    }

    override fun onSwiped(viewHolder: RecyclerView.ViewHolder, direction: Int) {
        val item = rLadapter.getItem()
        mUserModel.deleteData(item)
    }
}

rladapter.kt

class RLadapter() : Adapter<RLadapter.RLViewHolder>() {

private var RLlist: List<itemRL> = emptyList()


override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RLViewHolder {
    val itemView = LayoutInflater.from(parent.context).inflate(R.layout.activity_card_view_r_l, parent, false)
    return RLViewHolder(itemView)
}



override fun getItemCount() = RLlist.size

override fun onBindViewHolder(holder: RLViewHolder, position: Int) {
   val currentitem = RLlist[position]


    holder.textViewHM.setText(currentitem.HowMuchText)
    holder.textViewWhere.setText(currentitem.WhereText)
    holder.calendar.setText(currentitem.calendar.toString())
}

class RLViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView){
    val textViewHM :TextView = itemView.findViewById(R.id.textViewHM)
    val textViewWhere: TextView = itemView.findViewById(R.id.textViewWhere)
    val calendar: TextView = itemView.findViewById(R.id.textViewCalendar)

}

fun setData(data: List<itemRL>){
    this.RLlist = data
    notifyDataSetChanged()
}

fun getItem(viewHolder: RLViewHolder): itemRL{
    val position = viewHolder.adapterPosition
    val item = RLlist.get(position)
    return item

}
}

DataViewModel.kt

    fun deleteAllData(){
    viewModelScope.launch(Dispatchers.IO) {
        repository.deleteAllData()
    }
}

Ответы (0 шт):