2017-08-09 79 views

回答

0

您需要在ViewHolder中添加一個轉換。檢查這個職位:link

0

我不知道克里斯托弗的鏈接是否允許可擴展佔據整個2個網格。可能有一種方法使用getItemViewType()和setSpanSizeLookup()的組合。

@Override 
public int getItemViewType(int position) { 
    if (position == positionOfClickedItem + 2){ 
     return TYPE_EXPANDABLE; 
    } else { 
     return TYPE_CAR_ITEM; 
    } 
} 

根據數據的位置綁定數據,並將其位置設置爲您的活動以設置SpanSizeLookup。然後你必須通知適配器的變化:

// 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; 
      } 
     } 
    }); 

我認爲轉換答案效果更好,但萬一跨度大小是重要的。