以下示例为搭建一个表格形式的列表。里面的 item 可以设置占用不同的列数。
Adapter示例:
public class SampleRecyclerViewAdapter extends RecyclerView.Adapter {
public enum ItemType{
TYPE_A,
TYPE_B,
}
private List<SampleRecyclerViewAdapter.DataItem> mDataSet;
private Context mContext;
public SampleRecyclerViewAdapter(Context context, List<SampleRecyclerViewAdapter.DataItem> dataSet) {
mDataSet = dataSet;
mContext = context;
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
/**
* 不同类型卡片需要不同类型布局的话,在这设置
*/
if (ItemType.TYPE_A.ordinal() == viewType) {
View v = LayoutInflater.from(parent.getContext())
.inflate(R.layout.layout_a, parent, false);
RecyclerView.ViewHolder vh = new AViewHolder(v);
return vh;
} else if (ItemType.TYPE_B.ordinal() == viewType) {
View v = LayoutInflater.from(parent.getContext())
.inflate(R.layout.layout_b, parent, false);
RecyclerView.ViewHolder vh = new BViewHolder(v);
return vh;
}
return null;
}
@Override
publ