onCreateChildViewHolder(ViewGroup parent, int viewType); public void onBindGroupViewHolder(GVH holder, int flatPosition, ExpandableGroup group); public void onBindChildViewHolder(CVH holder, int flatPosition, ExpandableGroup group, int childIndex);
{...} {...} @Override public void onBindChildViewHolder(ArtistViewHolder holder, int flatPosition, ExpandableGroup group, int childIndex) { final Artist artist = ((Genre) group).getItems().get(childIndex); holder.bindArtist(artist); } {...} }
public static final int FAVORITE_ARTIST_VIEW_TYPE = 3; public static final int ARTIST_VIEW_TYPE = 4; @Override public boolean isChild(int viewType) { return viewType == FAVORITE_ARTIST_VIEW_TYPE || viewType == ARTIST_VIEW_TYPE; } @Override public int getChildViewType(int position, ExpandableGroup group, int childIndex) { if (((Genre) group).getItems().get(childIndex).isFavorite()) { return FAVORITE_ARTIST_VIEW_TYPE; } else { return ARTIST_VIEW_TYPE; } }