Je ne sais pas se le lien de Christopher permet la extensible à occuper les 2 grilles entières. Il pourrait y avoir un moyen d'utiliser une combinaison de getItemViewType(), et setSpanSizeLookup().
@Override
public int getItemViewType(int position) {
if (position == positionOfClickedItem + 2){
return TYPE_EXPANDABLE;
} else {
return TYPE_CAR_ITEM;
}
}
Bind les données en fonction de sa position, et portent la position de votre activité pour définir SpanSizeLookup. Vous devrez alors informer l'adaptateur d'un changement:
// Create a SpanSizeLookup which returns 2 grids span if its the expandable or 1 otherwise.
gridLayout.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
if (position == positionOfClickedItem) {
return 2;
} else {
return 1;
}
}
});
Je pense que la réponse fonctionne de transformation mieux, mais juste au cas où la taille Span est important.