public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
final int p=position/2;
if (holder instanceof Item1ViewHolder) {
((Item1ViewHolder) holder).tittle.setText(mDataList.get(p).getName());
} else {
gvAdapter = new PropertyGvAdapter(mContext);
gvAdapter.setData(mDataList.get(p).getAttrValues());
((ItemGvViewHolder) holder).sodukuGridView.setAdapter(gvAdapter);
((ItemGvViewHolder) holder).sodukuGridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int fuckP, long id) {
gvAdapter.changeSelect(fuckP);
ToastUtils.showShort(mContext,mDataList.get(p).getName()+"="+mDataList.get(p).getAttrValues().get(fuckP).getName());
}
});
}
}
![图片说明](https://img-ask.csdn.net/upload/201608/04/1470299261_635321.jpg)
整体是recycleView 奇数position是gridView
但是gridView的adapter貌似被复用了 导致里面的数据都是一个gridView的
gvAdapter.changeSelect(fuckP); 导致我调用这个方法 会角标越界 显示size只有6