ich weiß nicht, ob Christopher Link ermöglicht die erweiterbaren die ganzen 2 Gitter zu besetzen. Es kann einen Weg geben, der eine Kombination von getItemViewType() und setSpanSizeLookup() verwendet.
@Override
public int getItemViewType(int position) {
if (position == positionOfClickedItem + 2){
return TYPE_EXPANDABLE;
} else {
return TYPE_CAR_ITEM;
}
}
Binden Sie die Daten entsprechend ihrer Position und tragen Sie die Position zu Ihrer Aktivität, um SpanSizeLookup festzulegen. Sie würden dann den Adapter einer Änderung mitteilen müssen:
// 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;
}
}
});
Ich denke, die Transformation Antwort besser funktioniert, aber nur für den Fall der Span Größe ist wichtig.