博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RecyclerView加载多种item布局
阅读量:6001 次
发布时间:2019-06-20

本文共 2686 字,大约阅读时间需要 8 分钟。

hot3.png

package com.example.app8;

import android.content.Context;

import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.bumptech.glide.Glide;

import java.util.ArrayList;

/**

 * Created by 郝悦 on 2017/9/6.
 */
public class MyRecyclerAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {

    private ArrayList<News> list;

    private Context context;

    public MyRecyclerAdapter(ArrayList list, Context context) {

        this.list = list;
        this.context = context;
    }

   

    public int getItemViewType(int position) {
        return list.get(position).getType();
    }

   

    public  RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        RecyclerView.ViewHolder viewHolder = null;
        if(viewType==0){
            View view = LayoutInflater.from(context).inflate(R.layout.item_layout, parent, false);
            viewHolder = new ViewHolder1(view);
        }
        if(viewType==1){
            View view = LayoutInflater.from(context).inflate(R.layout.item_layout2, parent, false);
            viewHolder = new ViewHolder2(view);
        }

        return viewHolder;

    }

   

    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
        int type = list.get(position).getType();
        if(type==0){
            Glide.with(context).load(list.get(position).getPic().get(0).getThumbnail_pic()).into(((ViewHolder1)holder).img1);
            Glide.with(context).load(list.get(position).getPic().get(1).getThumbnail_pic()).into(((ViewHolder1)holder).img2);
            Glide.with(context).load(list.get(position).getPic().get(2).getThumbnail_pic()).into(((ViewHolder1)holder).img3);
            ((ViewHolder1)holder).text1Tv.setText(list.get(position).getAuthor_name());
        }
        if(type==1){
            Glide.with(context).load(list.get(position).getPic().get(0).getThumbnail_pic()).into(((ViewHolder2)holder).img);
            ((ViewHolder2)holder).text2Tv.setText(list.get(position).getAuthor_name());
        }
    }

   
    public int getItemCount() {
        return list.size();
    }

    public class ViewHolder1 extends RecyclerView.ViewHolder {

        private ImageView img1;

        private ImageView img2;
        private ImageView img3;
        private TextView text1Tv;

        public ViewHolder1(View itemView) {

            super(itemView);

            img1 = (ImageView) itemView.findViewById(R.id.img1);

            img2 = (ImageView) itemView.findViewById(R.id.img2);
            img3 = (ImageView) itemView.findViewById(R.id.img3);
            text1Tv = (TextView) itemView.findViewById(R.id.tv_text1);

        }

    }
    public class ViewHolder2 extends RecyclerView.ViewHolder {

        private ImageView img;

        private TextView text2Tv;

        public ViewHolder2(View itemView) {

            super(itemView);

            img = (ImageView) itemView.findViewById(R.id.img);

            text2Tv = (TextView) itemView.findViewById(R.id.tv_text2);

        }

    }
}
 

转载于:https://my.oschina.net/u/3705875/blog/1563496

你可能感兴趣的文章
MyEclipse配置Maven插件
查看>>
python进行数据分析
查看>>
[转]Oracle trunc()函数的用法
查看>>
监控利器 sysdig - 每天5分钟玩转 Docker 容器技术(79)
查看>>
Mac 安装 Eclipse
查看>>
从头开始编写一个实时嵌入式操作系统的内核(二)
查看>>
如何使用JVisualVM进行性能分析
查看>>
npm run watch-poll 监控css、js 文件更新
查看>>
finecms设置伪静态后分享到微信不能访问怎么处理
查看>>
分享我们必须知道的高速GTX技术
查看>>
linux buff/cache释放
查看>>
大型网站架构之系列
查看>>
让你成功安装vscode中go的相关插件
查看>>
[转]Java NIO 系列教程
查看>>
回望2017
查看>>
库函数调用和系统调用的区别
查看>>
二叉查找树的前驱后继
查看>>
Screen命令安装使用教程
查看>>
Html单引号,双引号转义
查看>>
keycloak管理用户权限
查看>>