1
私のアプリプロジェクトでRecyclerViews
を使用していて、明らかにView
がリサイクルされると、彼らはリスナーを保持します。リサイクルされたビューから `OnClickListeners`を削除するにはどうすればいいですか?
私は方法onViewRecycled()
@Override
public void onViewRecycled(MyViewHolder holder) {
super.onViewRecycled(holder);
holder.imageId.setOnClickListener(null);
}
でリスナーを削除しようとしましたが、うまくいきませんでした。
これ以上のアイデア...?
最初に 'OnClickListener'をどこに設定していますか? 'onBindViewHolder()'メソッドでは、位置に応じて変化する 'View'プロパティを設定する必要があります。 –
@MikeM。私はonBindViewHolder()メソッドで設定しています。 –
これはおそらく、あなたの 'View'が再び' OnClickListener'を持っている理由でしょう。それがリサイクルされた後、 'onBindViewHolder()'に渡され、再び使用できる状態になります。その方法で無条件にリスナーを設定すると、それが原因です。 –