将视图插入回收站视图 [重复]

Posted

技术标签:

【中文标题】将视图插入回收站视图 [重复]【英文标题】:Insert Views into Recycler View [duplicate] 【发布时间】:2016-07-07 05:37:34 【问题描述】:

我有 RecyclerView,比如一些数据的 ListView。我必须在该列表中放置 3 个不同的视图。它就像行“用户名”或“联系人”,我该怎么做?

【问题讨论】:

请看这个链接...***.com/questions/26245139/… 【参考方案1】:

创建一个视图持有者:

public abstract class ViewHolder extends RecyclerView.ViewHolder 
  public ViewHolder(View itemView) 
    super(itemView);
  

  public abstract  void setDataOnView(int position);

现在创建您的视图持有者并让它们扩展 ViewHolder。像这样:

public class ContentViewHolder extends ViewHolder
public final View view;
public final TextView tv_div;

public ContentViewHolder(View itemView) 
    super(itemView);
    view = itemView;
    tv_div = (TextView) view.findViewById(R.id.tv_div);


@Override
public void setDataOnView(int position) 
    try 
        String title= sections.get(position);
        if(title!= null)
            this.tv_div.setText(title);
    catch (Exception e)
        new CustomError("Error!"+e.getMessage(), null, false, null, e);
    
   
 

最后,RecyclerView.Adapter 类可以是:

public class MyRecyclerViewAdapter extends 
RecyclerView.Adapter<MyRecyclerViewAdapter.ViewHolder> 

@Override
 public int getItemViewType(int position) 
   // depends on your problem
      switch (position) 
        case : return VIEW_TYPE1;
        case : return VIEW_TYPE2;
        ...
     
   

@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
  View view;

   if(viewType == VIEW_TYPE1)
     view = LayoutInflater.from(parent.getContext()).inflate      
      (R.layout.layout1, parent, false);
     return new ContentViewHolder(view);

    else if( viewType == VIEW_TYPE2)
     view = LayoutInflater.from(parent.getContext()).inflate
     (R.layout.layout2, parent, false);
     return new OtherViewHolder(view);
   

    // Cont. other view holders ...
     return null;
  

   @Override
    public void onBindViewHolder(ViewHolder holder, int position) 
    holder.setDataOnView(position);
  

希望能帮到你:)

【讨论】:

以上是关于将视图插入回收站视图 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用android中的回收器视图将事件放在日历中[重复]

滚动回收站视图时如何防止项目重复

我可以添加两个不同的回收器视图单个元素布局一个回收器视图[重复]

如何在回收站视图上添加 OnItemClick 侦听器 [重复]

从 Firestore 回收视图中获取文件时遇到问题 [重复]

在尝试长时间无法在水平和垂直的回收器视图内的 2 个卡片视图元素之间提供空间 [重复]