适配器
public class LinearAdapter extends RecyclerView.Adapter<LinearAdapter.VH> {
private ClickListener clickListener;
private Context context;
public LinearAdapter(Context context, List<NewsBean.ResultBean.DataBean> mDatas) {
this.context = context;
this.mDatas = mDatas;
}
//② 创建ViewHolder
public static class VH extends RecyclerView.ViewHolder {
public final TextView title_1;
public final TextView title_3;
public final ImageView imageView_1;
public final ImageView imageView3_1;
public final ImageView imageView3_2;
public final ImageView imageView3_3;
public VH(View v) {
super(v);
title_1 = (TextView) v.findViewById(R.id.title1);
title_3 = (TextView) v.findViewById(R.id.title3);
imageView_1 = (ImageView) v.findViewById(R.id.image1);
imageView3_1 = (ImageView) v.findViewById(R.id.image3_1);
imageView3_2 = (ImageView) v.findViewById(R.id.image3_2);
imageView3_3 = (ImageView) v.findViewById(R.id.image3_3);
}
}
private List<NewsBean.ResultBean.DataBean> mDatas;
public List<NewsBean.ResultBean.DataBean> getmDatas() {
return mDatas;
}
public void setmDatas(List<NewsBean.ResultBean.DataBean> mDatas) {
this.mDatas = mDatas;
}
public NewsBean.ResultBean.DataBean getBean(int position) {
NewsBean.ResultBean.DataBean bean = mDatas.get(position);
return bean;
}
//③ 在Adapter中实现3个方法
@Override
public void onBindViewHolder(VH holder, final int position) {
/*holder.title.setText(mDatas.get(position).getTitle());
Glide.with(MyApp.getContext()).load(mDatas.get(position).getUrl()).into(holder.imageView);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//item 点击事件
}
});*/
switch (holder.getItemViewType()) {
case 0:
holder.title_1.setText(mDatas.get(position).getTitle());
Glide.with(MyApp.getContext()).load(mDatas.get(position).getThumbnail_pic_s()).into(holder.imageView_1);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//item 点击事件
clickListener.onItmeClickListener(v, position);
}
});
break;
case 1:
holder.title_3.setText(mDatas.get(position).getTitle());
Glide.with(MyApp.getContext()).load(mDatas.get(position).getThumbnail_pic_s()).into(holder.imageView3_1);
Glide.with(MyApp.getContext()).load(mDatas.get(position).getThumbnail_pic_s02()).into(holder.imageView3_2);
Glide.with(MyApp.getContext()).load(mDatas.get(position).getThumbnail_pic_s03()).into(holder.imageView3_3);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//item 点击事件
clickListener.onItmeClickListener(v, position);
}
});
break;
}
}
@Override
public int getItemCount() {
return mDatas.size();
}
public void setClickListener(ClickListener clickListener) {
this.clickListener = clickListener;
}
@Override
public VH onCreateViewHolder(ViewGroup parent, int viewType) {
//LayoutInflater.from指定写法
if (viewType == 0) {
View o = LayoutInflater.from(parent.getContext()).inflate(R.layout.recyler_layout_item1, parent, false);
return new VH(o);
} else if (viewType == 1) {
View t = LayoutInflater.from(parent.getContext()).inflate(R.layout.recyler_layout_item3, parent, false);
return new VH(t);
}
return null;
}
@Override
public int getItemViewType(int position) {
String thumbnail_pic_s = mDatas.get(position).getThumbnail_pic_s();
String thumbnail_pic_s02 = mDatas.get(position).getThumbnail_pic_s02();
String thumbnail_pic_s03 = mDatas.get(position).getThumbnail_pic_s03();
if (TextUtils.isEmpty(thumbnail_pic_s02) && TextUtils.isEmpty(thumbnail_pic_s03)) {
return 0;
} else {
return 1;
}
}
public interface ClickListener {
void onItmeClickListener(View view, int position);
}
public void setOnItmeClickListener(ClickListener clickListener) {
this.clickListener = clickListener;
}
}