将新布局添加到RecyclerView中的现有项目

时间:2018-06-25 09:36:32

标签: android android-recyclerview android-viewholder

我想向layout的现有XML项中添加新的容器RecyclerView

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

@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_simple

RecyclerView.Adapter内容:

  ______ LINEAR LAYOUT
     ______ IMAGE VIEW
     ______ TEXT VIEW

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

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

是否可以将此项目视图更改为RecyclerView.Adapter

2 个答案:

答案 0 :(得分:0)

有两种方法可以实现此目的。首先是始终将其他布局添加到您的item_simple并隐藏/显示。第二种方法是使用getItemViewType返回不同的layout类型。这样,onCreateViewHolder会为每种类型调用一次,并且您可以为不同的layout充气

答案 1 :(得分:0)

您只需在此处像item_simple那样增加布局,并通过使用条件使用显示/隐藏视图。喜欢

mainlayout.setVisibility(View.GONE);

mainlayout.setVisibility(View.VISIBLE);