RecyclerView的不同position加载不同View实现

本文介绍了如何在Android开发中使用RecyclerView实现一个视图根据position加载不同View的效果,避免了嵌套RecyclerView的问题。核心思路包括:1. 重写getItemViewType方法设置不同ViewType;2. 创建对应ViewType的ViewHolder子类;3. 重写onCreateViewHolder方法返回不同ViewHolder。通过这种方式,可以在一个RecyclerView中展示用户信息、图片列表和评论列表等多种内容。
摘要由CSDN通过智能技术生成

在android开发中,有很多页面,可能一个页面上面需要2种不同的recyclerView,一般的,我们会使用一个scrollview,然后嵌套2个recyclerView,但是嵌套总会有点问题,除非你重写方法,listView是重写listview的onMeasure方法,RecyclerView重写LayoutManager方法,具体可以参考之前的一篇博客
http://blog.csdn.net/picasso_l/article/details/50324863

但是,这么做可能还是会有这样那样的限制。

下面介绍一种新的方法,全部用一个RecyclerView或者listview显示,用getItemViewType方法中不同的position,设置不同的ViewType

核心思想:
1.重写RecyclerView.Adapter的getItemViewType(int position),在此方法中根据不同的position,设置不同的ViewType
2.编写具体的RecyclerView.ViewHolder子类(不同子类对应不同View或Layout)
3.重写RecyclerView.Adapter的onCreateViewHolder(ViewGroup parent,int viewType) 在此方法中根据我们之前设置的ViewType来返回不同的RecyclerView.ViewHolder的子类

直接上代码

public class FunItemAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
   
    private List<FunItemModel.ImageUrlEntity> mImgList;
    private List<CommentsEntity> mCommentList;
    private Context mContext;
    private String author, time, msg, authorUrl, location;
    private static final int TYPE_INFO = 0;
    private 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值