public class RecyclerViewAdapter extends RecyclerView.Adapter{
private List<NewsBean.DataBeanX.DataBean> list;
private Context context;
public RecyclerViewAdapter(List<NewsBean.DataBeanX.DataBean> list, Context context) {
this.list = list;
this.context = context;
}
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
if (viewType == 1){
View inflate = LayoutInflater.from(context).inflate(R.layout.item_recyclerview_one, parent, false);
ViewHolder01 viewHolder01 = new ViewHolder01(inflate);
return viewHolder01;
}else{
View inflate02 = LayoutInflater.from(context).inflate(R.layout.item_recyclerviews, parent, false);
ViewHolder02 viewHolder02 = new ViewHolder02(inflate02);
return viewHolder02;
}
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, final int position) {
if (holder instanceof ViewHolder01){
String url = "http://365jia.cn/uploads/appletrecommend/201804/5ad6ba6c6bb8b.jpg";
ViewHolder01 viewHolder01 = (ViewHolder01)holder;
viewHolder01.tv_title.setText(list.get(position).getTitle());
String pic1 = list.get(position).getPics().get(0);
ImageLoader.getInstance().displayImage(pic1+url,viewHolder01.item_img, MyApp.getOptions());
viewHolder01.tv_comment.setText(list.get(position).getViews()+"评论");
viewHolder01.tv_praise.setText(list.get(position).getViews_label()+"赞");
((ViewHolder01) holder).item_img.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onItemClickListener.onItemClick(v,position);
}
});
((ViewHolder01) holder).tv_title.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
onLongClickListener.onLongClick(v,position);
return false;
}
});
}else if (holder instanceof ViewHolder02){
String url = "http://365jia.cn/uploads/special/tuku/201804/5ad6ab1059e6566912.jpg";
ViewHolder02 viewHolder02 = (ViewHolder02) holder;
viewHolder02.item_title02.setText(list.get(position).getTitle());
String pic1 = list.get(position).getPics().get(0);
String pic2 = list.get(position).getPics().get(1);
String pic3 = list.get(position).getPics().get(2);
ImageLoader.getInstance().displayImage(pic1+url,viewHolder02.item_img01,MyApp.getOptions());
ImageLoader.getInstance().displayImage(pic2+url,viewHolder02.item_img02,MyApp.getOptions());
ImageLoader.getInstance().displayImage(pic3+url,viewHolder02.item_img03,MyApp.getOptions());
((ViewHolder02) holder).item_img01.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onItemClickListener.onItemClick(v,position);
}
});
((ViewHolder02) holder).item_img02.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onItemClickListener.onItemClick(v,position);
}
});
((ViewHolder02) holder).item_img03.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onItemClickListener.onItemClick(v,position);
}
});
((ViewHolder02) holder).item_title02.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
onLongClickListener.onLongClick(v,position);
return false;
}
});
}
}
@Override
public int getItemCount() {
return list == null ? 0 :list.size();
}
@Override
public int getItemViewType(int position) {
List<String> pics = list.get(position).getPics();
if (pics.size()==1){
return 1;
}
return 2;
}
class ViewHolder01 extends RecyclerView.ViewHolder {
private final TextView tv_title,tv_comment,tv_praise;
private final ImageView item_img;
public ViewHolder01(View itemView) {
super(itemView);
tv_title = itemView.findViewById(R.id.tv_title);
tv_comment = itemView.findViewById(R.id.tv_comment);
tv_praise = itemView.findViewById(R.id.tv_praise);
item_img = itemView.findViewById(R.id.item_img);
}
}
class ViewHolder02 extends RecyclerView.ViewHolder{
TextView item_title02;
ImageView item_img01,item_img02,item_img03;
public ViewHolder02(View itemView) {
super(itemView);
item_title02 = itemView.findViewById(R.id.tv_title_02);
item_img01 = itemView.findViewById(R.id.item_img01);
item_img02 = itemView.findViewById(R.id.item_img02);
item_img03 = itemView.findViewById(R.id.item_img03);
}
}
private OnItemClickListener onItemClickListener;
public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
this.onItemClickListener = onItemClickListener;
}
public interface OnItemClickListener{
void onItemClick(View v,int position);
}
private OnLongClickListener onLongClickListener;
public void setOnLongClickListener(OnLongClickListener onLongClickListener) {
this.onLongClickListener = onLongClickListener;
}
public interface OnLongClickListener{
void onLongClick(View v,int position);
}
}
Android RecyclerView 多条目加载 +接口回调监听
猜你喜欢
转载自blog.csdn.net/as89751/article/details/80874446
今日推荐
周排行