现状:
正如您所看到的,单击侦听器正在泄露。这是为什么?我知道一个解决方案,在适配器中我可以将clickListener
设置为WeakReference
,但这意味着,我必须在任何地方都这样做,这似乎是错误的。我想知道问题的确切根源......
我创建了这样的适配器:
mAdapter = new XAdapter(.., .., .., this);
其中this
在片段中实现了类。
在适配器中我设置了这样的监听器:
viewHolder.itemView.setOnClickListener {
val position = viewHolder.adapterPosition
if (position != NO_POSITION) {
itemClickListener.onClick(position)
}
}
为什么会发生这种情况以及如何避免这种情况?