Recyclerview的多种条目

package comp.example.practise9.adapter;

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.List;

import comp.example.practise9.Lei.ShiTi; import comp.example.practise9.R;

/** * Created by 潘明杰 on 2017/11/13. */ public class RecyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private Context context; private List<ShiTi.ResultBean.DataBean> data;

1public RecyAdapter(Context context, List<ShiTi.ResultBean.DataBean> data) { 2 this.context = context; 3 this.data = data; 4} 5 6@Override 7public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 8 RecyclerView.ViewHolder holder = null; 9 if (viewType == 0) { 10 View inflate = LayoutInflater.from(context).inflate(R.layout.one\_item, null, false); 11 holder = new ViewHolder1(inflate); 12 } 13 if (viewType == 1) { 14 View inflate1 = LayoutInflater.from(context).inflate(R.layout.two\_item, null, false); 15 holder = new ViewHolder2(inflate1); 16 } 17 return holder; 18} 19 20@Override 21public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { 22 if (holder instanceof ViewHolder1) { 23 ((ViewHolder1) holder).tv1.setText(data.get(position).getAuthor\_name()); 24 ((ViewHolder1) holder).tv2.setText(data.get(position).getTitle()); 25 ((ViewHolder1) holder).tv3.setText(data.get(position).getCategory()); 26 Glide.with(context).load(data.get(position).getThumbnail\_pic\_s()).into(((ViewHolder1) holder).image\_1); 27 Glide.with(context).load(data.get(position).getThumbnail\_pic\_s03()).into(((ViewHolder1) holder).image\_2); 28 Glide.with(context).load(data.get(position).getThumbnail\_pic\_s02()).into(((ViewHolder1) holder).image\_3); 29 30 } 31 if (holder instanceof ViewHolder2) { 32 ((ViewHolder2) holder).tv\_content.setText(data.get(position).getAuthor\_name()); 33 ((ViewHolder2) holder).tv\_text.setText(data.get(position).getTitle()); 34 ((ViewHolder2) holder).tv\_title.setText(data.get(position).getDate()); 35 Glide.with(context).load(data.get(position).getThumbnail\_pic\_s()).into(((ViewHolder2) holder).imagee); 36 37 } 38 39} 40 41@Override 42public int getItemCount() { 43 return data.size(); 44} 45 46@Override 47public int getItemViewType(int position) { 48 String thumbnail\_pic\_s02 = data.get(position).getThumbnail\_pic\_s02(); 49 if (thumbnail\_pic\_s02 != null) { 50 return 0; 51 52 } else { 53 return 1; 54 } 55 56} 57 58public class ViewHolder1 extends RecyclerView.ViewHolder { 59 public View rootView; 60 public TextView tv1; 61 public TextView tv2; 62 public TextView tv3; 63 public ImageView image\_1; 64 public ImageView image\_2; 65 public ImageView image\_3; 66 67 public ViewHolder1(View rootView) { 68 super(rootView); 69 this.rootView = rootView; 70 this.tv1 = (TextView) rootView.findViewById(R.id.tv1); 71 this.tv2 = (TextView) rootView.findViewById(R.id.tv2); 72 this.tv3 = (TextView) rootView.findViewById(R.id.tv3); 73 this.image\_1 = (ImageView) rootView.findViewById(R.id.image\_1); 74 this.image\_2 = (ImageView) rootView.findViewById(R.id.image\_2); 75 this.image\_3 = (ImageView) rootView.findViewById(R.id.image\_3); 76 rootView.setOnClickListener(new View.OnClickListener() { 77 @Override 78 public void onClick(View view) { 79 itemClickListener.setOnItemClickListener(view,getLayoutPosition()); 80 } 81 }); 82 rootView.setOnLongClickListener(new View.OnLongClickListener() { 83 @Override 84 public boolean onLongClick(View view) { 85 OnLongItemClickListener.OnLongItemClickListener(view,getLayoutPosition()); 86 return true; 87 } 88 }); 89 } 90 91} 92 93public class ViewHolder2 extends RecyclerView.ViewHolder { 94 private ImageView imagee; 95 public View rootView; 96 public TextView tv\_text; 97 public TextView tv\_content; 98 public TextView tv\_title; 99 100 public ViewHolder2(View rootView) { 101 super(rootView); 102 this.rootView = rootView; 103 this.tv\_text = (TextView) rootView.findViewById(R.id.tv\_text); 104 this.tv\_content = (TextView) rootView.findViewById(R.id.tv\_content); 105 this.tv\_title = (TextView) rootView.findViewById(R.id.tv\_title); 106 this.imagee = (ImageView) rootView.findViewById(R.id.imagee); 107 rootView.setOnClickListener(new View.OnClickListener() { 108 @Override 109 public void onClick(View view) { 110 itemClickListener.setOnItemClickListener(view,getLayoutPosition()); 111 } 112 }); 113 rootView.setOnLongClickListener(new View.OnLongClickListener() { 114 @Override 115 public boolean onLongClick(View view) { 116 OnLongItemClickListener.OnLongItemClickListener(view,getLayoutPosition()); 117 return true; 118 } 119 }); 120 } 121 122} 123//1.第一步 124public interface OnItemClickListener { 125 void setOnItemClickListener(View v, int position); 126} 127 128public OnItemClickListener itemClickListener; 129 130 131 132public void onClick(View v) { 133 if (itemClickListener != null) { 134 itemClickListener.setOnItemClickListener(v, (int) v.getTag()); 135 } 136} 137 138public void setOnItemClickListener(OnItemClickListener listener) { 139 this.itemClickListener = listener; 140} 141//\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ 142public interface OnLongItemClickListener { 143 void OnLongItemClickListener(View v, int position); 144} 145 146public OnLongItemClickListener OnLongItemClickListener; 147 148 149 150public void onLongClick(View v) { 151 if (OnLongItemClickListener != null) { 152 OnLongItemClickListener.OnLongItemClickListener(v, (int) v.getTag()); 153 } 154} 155 156public void OnLongItemClickListener(OnLongItemClickListener listener) { 157 this.OnLongItemClickListener = listener; 158}

}

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

java将前端的json数组字符串转换为列表

记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang