public class Myadapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
Datas datas;
Context context;
private String url = "http://365jia.cn/uploads/";
public static final int one = 0;
public static final int two = 1;
public Myadapter(Datas datas, Context context) {
this.datas = datas;
this.context = context;
}
@Override
public int getItemViewType(int position) {
if (position % 3 == 0) {
return one;
} else {
return two;
}
}
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
int type = getItemViewType(i);
if (type == one) {
View inflate = LayoutInflater.from(context).inflate(R.layout.iteam, null, false);
Viewholder viewholder = new Viewholder(inflate);
return viewholder;
} else {
View inflate = LayoutInflater.from(context).inflate(R.layout.iteam1, null, false);
Viewholder1 viewholder1 = new Viewholder1(inflate);
return viewholder1;
}
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, final int i) {
if (viewHolder instanceof Viewholder) {
((Viewholder) viewHolder).textView.setText(datas.getData().getData().get(i).getTitle());
String s = datas.getData().getData().get(i).getPics().get(0);
Glide.with(context).load(url + s).into(((Viewholder) viewHolder).imageView);
viewHolder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
onclick.onlongclick(v.getId());
removeList(i);
return true;
}
});
viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onclick.onclick(v.getId());
}
});
} else if (viewHolder instanceof Viewholder1) {
((Viewholder1) viewHolder).textView1.setText(datas.getData().getData().get(i).getTitle());
String s = datas.getData().getData().get(i).getPics().get(0);
Glide.with(context).load(url + s).into(((Viewholder1) viewHolder).imageView1);
viewHolder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
onclick.onlongclick(v.getId());
removeList(i);
return true;
}
});
viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onclick.onclick(v.getId());
}
});
}
}
@Override
public int getItemCount() {
return datas.getData().getData().size();
}
class Viewholder extends RecyclerView.ViewHolder {
private final ImageView imageView;
private final TextView textView;
public Viewholder(@NonNull View itemView) {
super(itemView);
imageView = itemView.findViewById(R.id.image);
textView = itemView.findViewById(R.id.text);
}
}
class Viewholder1 extends RecyclerView.ViewHolder {
private final ImageView imageView1;
private final TextView textView1;
public Viewholder1(@NonNull View itemView) {
super(itemView);
imageView1 = itemView.findViewById(R.id.image1);
textView1 = itemView.findViewById(R.id.text1);
}
}
点击事件 和长按事件
public interface onclick {
void onlongclick(int id);
void onclick(int id);
}
onclick onclick;
public void setOnclick(Myadapter.onclick onclick) {
this.onclick = onclick;
}
public void removeList(int position) {
datas.getData().getData().remove(position);//删除数据源,移除集合中当前下标的数据
notifyItemRemoved(position);//刷新被删除的地方
notifyItemRangeChanged(position, getItemCount()); //刷新被删除数据,以及其后面的数据
}}
recyview多条目
最新推荐文章于 2025-06-26 15:10:49 发布