我正在使用Support Library v7將我的ListView轉換爲RecyclerView。在onCreateViewHolder中獲取位置
我有2個不同的佈局加載在RecyclerView
。在ListView
中,我獲得了getView()
方法中該項目的位置,並且能夠爲該行加載適當的佈局。但在RecyclerView
中,onCreateViewHolder
沒有位置參數。
有沒有其他辦法可以達到這個目的?
PS:Google的收件箱應用程序在RecyclerView
(可能)中顯示不同的佈局。我不認爲他們會在RecyclerView
@Override
public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {
View v=null;
MyVO vo = voList.get(???POSITION???);
switch(vo.getType()){
case TYPE_1:
v = LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.layout1, viewGroup, false);
break;
case TYPE_2:
v = LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.layout2, viewGroup, false);
break;
}
return new ViewHolder(v);
}
你的第二個參數是'viewType',我認爲這是你想要的。 – rom4ek 2014-11-03 05:53:39
這就是我最初也想到的。但不是。它只是視圖的類型而不是位置。 – Sathesh 2014-11-03 05:55:27
另一種思考方式:switch(viewType)而不是vo.getType() – 2014-11-03 05:59:31