Mam przypadek użycia, w którym potrzebuję odwołania do rodzica RecyclerView
z wnętrza adaptera, a konkretnie z wnętrza onBindViewHolder
metody. Do tej pory przypisuję go do członka klasy prywatnej w onCreateViewHolder
metodzie przekazującej viewGroup parent
argument w następujący sposób:
private ViewGroup mParent;
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
// inflater logic.
mParent = parent;
}
I odnosząc się do rodzica RecyclerView
w onBindViewHolder
ten sposób:
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
// binder logic.
((RecyclerView)mParent).blahBlahBlah();
}
Czy jest lepszy sposób na zrobienie tego? Może RecyclerView.Adapter
ma sposób, który mogłem przegapić?