2017-02-13 17 views

回答

2

您可以检查我的答案在此link。采用RecyclerviewGridLayoutManager。在你的RecyclerAdapter中定义2种类型。

0

创建2个观点持有者和回报您ViewType这样

@Override 
public int getItemViewType(int position) { 
    if (isPositionHeader(position)) { 
     return TYPE_HEADER; 
    } 
    return TYPE_ITEM; 
} 

和获取viewType在onCreateViewHolder和使用它像这样

@Override 
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
    if (viewType == TYPE_HEADER) { 
     View headerView = LayoutInflater.from(parent.getContext()).inflate(R.layout.home_recycler_view_header, parent, false); 
     return new ViewHolderHeader(headerView); 
    } else if (viewType == TYPE_ITEM) { 
     View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.home_recycler_view_item, parent, false); 
     ViewHolderItem viewHolder = new ViewHolderItem(itemView); 
     return viewHolder; 
    } 
    throw new RuntimeException("there is no type that matches the type " + viewType + " + make sure your using types correctly"); 
} 
相关问题