Ich habe einen Anwendungsfall, in dem ich einen Verweis auf das übergeordnete RecyclerViewElement innerhalb des Adapters benötige , insbesondere innerhalb der onBindViewHolderMethode. Bisher weise ich es einem privaten Klassenmitglied in der onCreateViewHolderMethode zu, die das viewGroup parentArgument wie folgt weitergibt :
private ViewGroup mParent;
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
// inflater logic.
mParent = parent;
}
Und Referenzierung der Eltern RecyclerViewin onBindViewHolderwie folgt aus :
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
// binder logic.
((RecyclerView)mParent).blahBlahBlah();
}
Gibt es einen besseren Weg, dies zu tun? Vielleicht RecyclerView.Adapterhabe ich einen Weg verpasst?