实现.swipelayout滑动布局侧滑删除item

第一步导入依赖

implementation "com.daimajia.swipelayout:library:1.2.0@aar"

item布局文件

把线性或相对变成SwipeLayout布局



     
         

自定义适配器继承RecyclerSwipeAdapter

public class MyAdapter extends RecyclerSwipeAdapter {

    Context context;
    ArrayListarrayList;
    public MyAdapter(Context context, ArrayList arrayList) {
        this.context = context;
        this.arrayList = arrayList;
    }
    @Override
    public MyHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view= LayoutInflater.from(context).inflate(R.layout.item,parent,false);
        return new MyHolder(view);
    }

    @Override
    public void onBindViewHolder(MyHolder viewHolder, final int position) {

        viewHolder.swipeLayout.setShowMode(SwipeLayout.ShowMode.LayDown);
        viewHolder.textView.setText(arrayList.get(position));
        viewHolder.b_delete.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                arrayList.remove(position);
                notifyDataSetChanged();
            }
        });

    }

    @Override
    public int getItemCount() {
        return arrayList.size();
    }

    @Override
    public int getSwipeLayoutResourceId(int position) {
        return position;
    }

    class MyHolder extends RecyclerView.ViewHolder{

        SwipeLayout swipeLayout;
        TextView textView;
        Button b_delete;
        public MyHolder(@NonNull View itemView) {
            super(itemView);
            swipeLayout=itemView.findViewById(R.id.swipe);
            textView=itemView.findViewById(R.id.surface);
            b_delete=itemView.findViewById(R.id.delete);
        }
    }
}

Activity操作初始化数据

实现.swipelayout滑动布局侧滑删除item_第1张图片

效果

实现.swipelayout滑动布局侧滑删除item_第2张图片

你可能感兴趣的:(实现.swipelayout滑动布局侧滑删除item)