首页 > 解决方案 > 向 RecyclerView 中的现有项目添加新布局

问题描述

我想将一个新容器添加layout到一个现有的 XML 项RecyclerView

这是我想做的一个例子(基于R.layout.item_simpleXML)

@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    LayoutInflater inflater = LayoutInflater.from(parent.getContext());
    return new ViewHolder(inflater.inflate(R.layout.item_simple, parent, false));
}

R.layout.item_simpleRecyclerView.Adapter创作内容:

  ______ LINEAR LAYOUT
     ______ IMAGE VIEW
     ______ TEXT VIEW

我想通过向layout用户视图添加一个新的来做:

  ______ RELATIVE LAYOUT
      ______ LINEAR LAYOUT
         ______ IMAGE VIEW
         ______ TEXT VIEW

是否可以更改此项目视图,最好是更改为RecyclerView.Adapter

标签: androidandroid-recyclerviewandroid-viewholder

解决方案


有两种方法可以实现这一点。首先是始终将附加布局添加到您的item_simple和隐藏/显示中。第二种方法是使用getItemViewType返回不同的layout类型。这种方式onCreateViewHolder为每种类型调用一次,您可以为不同layout的 s充气


推荐阅读