2017-08-09 4 views

Répondre

0

Vous devez ajouter une transformation dans votre ViewHolder. Vérifiez ce post: link

0

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.