Я помещаю кнопку в свой элемент просмотра переработчика, но я не могу выполнить какое-либо действие при нажатии на эту кнопку, я знаю, как щелкнуть элемент просмотра переработчика, но я не знаю, как щелкнуть указанный элемент c элемента в представлении рециркулятора
Эта функция используется для щелчка мышью на элементе представления рециркулятора, который переопределяет забаву onCardClick (item: PacketModel, position: Int) {
lateinit var front_anim: AnimatorSet
lateinit var back_anim: AnimatorSet
val scale = this.resources.displayMetrics.density
packetRecView.cameraDistance = 8000 * scale
packetRecView.cameraDistance = 8000 * scale
front_anim =
AnimatorInflater.loadAnimator(context, R.animator.front_animator) as AnimatorSet
back_anim = AnimatorInflater.loadAnimator(context, R.animator.back_animator) as AnimatorSet
if (isFront) {
front_anim.setTarget(flip.cardOnFront)
back_anim.setTarget(flip.backCard)
front_anim.start()
back_anim.start()
isFront = false
} else {
front_anim.setTarget(flip.backCard)
back_anim.setTarget(flip.cardOnFront)
back_anim.start()
front_anim.start()
isFront = true
}
Toast.makeText(context, item.drugs, Toast.LENGTH_SHORT).show()
}
Это мой адаптер
class PacketAdapter (val packetList: ArrayList<PacketModel> , var clickListener2: onPacketItemClickListener): RecyclerView.Adapter<PacketAdapter.ViewHolder>(){
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val a = LayoutInflater.from(parent?.context).inflate(R.layout.packet, parent, false)
return ViewHolder(a)
}
override fun getItemCount(): Int {
return packetList.size
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val packet : PacketModel = packetList[position]
holder.intialize(packet, clickListener2)
}
class ViewHolder(itemView : View) : RecyclerView.ViewHolder(itemView)
{
// val takenButton = itemView.findViewById<Button>(R.id.taken)
val fCard = itemView.findViewById<CardView>(R.id.cardOnFront)
val packetTime = itemView.findViewById<TextView>(R.id.timeofPacket)
val timeMessage = itemView.findViewById<TextView>(R.id.messageofTime)
val bCars = itemView.findViewById<CardView>(R.id.backCard)
val drugs = itemView.findViewById<TextView>(R.id.drugs)
val note = itemView.findViewById<TextView>(R.id.note)
val dosage = itemView.findViewById<TextView>(R.id.dosage)
fun intialize(item: PacketModel, action: onPacketItemClickListener){
// val formatter = SimpleDateFormat("yyyy-MM-dd HH:mm:ssZ", Locale.getDefault())
// formatter.timeZone = TimeZone.getTimeZone("UTC")
// val result = formatter.parse(dateAsString)
//
//
//
// takenButton.setOnClickListener(this)
var date = (((item.date) as Timestamp).seconds) * 1000L
fun convertLongToTime(time: Long): String {
val date = Date(time)
val format = SimpleDateFormat("yyyy.MM.dd HH:mm")
format.timeZone = TimeZone.getTimeZone("GMT+5")
return format.format(date)
}
var convertedDate = convertLongToTime(date)
packetTime.text = convertedDate
timeMessage.text = ""
drugs.text = item.drugs
note.text = item.notes
dosage.text = item.dosage
itemView.setOnClickListener {
action.onCardClick(item, adapterPosition)
}
}
}
interface onPacketItemClickListener{
fun onCardClick (item: PacketModel, position: Int)
}
}
Теперь я хочу выполнить действие щелчка внутри элемента в окне повторного просмотра. Пожалуйста, помогите