Używam RecyclerViews w moim projekcie aplikacji i ustawienie OnClickListeners z ich ViewHolders (w ich konstruktorach jak wspomniano w StackOverflow Q&A).Jak mogę usunąć OnClickListeners z ViewHolders RecyclerView, gdy są one usuwane?
Następnie mam to pytanie: Jak mogę usunąć OnClickListeners z ViewHolders RecyclerView's, gdy są one usuwane.
Zazwyczaj możemy usunąć OnClickListener w ten sposób:
view.setOnClickListener(null);
A jeśli jest PagerAdapter danej ViewPager, możemy to zrobić w destroyItem
metody.
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
View view = container.findViewById(R.id.viewId);
view.setOnClickListener(null);
}
Gdzie mogę to zrobić z RecyclerView? - Albo, nie muszę tego robić?
I don wydaje Ci się, że musisz ustawić odbiornik kliknięć na wartość null. Callback powinien zostać odebrany przez garbage collector, gdy widok jest zutylizowany. Ponadto, gdyby oczekiwano, że to zrobimy, oczekiwałbym obecności metody removeOnClicklistener. – cYrixmorten