recyview多条目

博客涉及recyvirw多条目相关内容,但具体信息缺失。推测可能围绕recyvirw在处理多条目时的技术实现、应用场景等方面展开。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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()); //刷新被删除数据,以及其后面的数据
}}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值