diff --git a/app/src/main/java/com/example/tp_reclyclerview/CardRecyclerViewAdapter.java b/app/src/main/java/com/example/tp_reclyclerview/CardRecyclerViewAdapter.java
index 0fc6d30b1ed88434687c6ba7f698b6a45b00a47f..3a6959a1c68c3a6d26a37e086e25e59875bf901b 100644
--- a/app/src/main/java/com/example/tp_reclyclerview/CardRecyclerViewAdapter.java
+++ b/app/src/main/java/com/example/tp_reclyclerview/CardRecyclerViewAdapter.java
@@ -1,85 +1,40 @@
 package com.example.tp_reclyclerview;
 
-import android.media.Image;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
-import android.widget.ImageView;
-import android.widget.TextView;
-import android.widget.Toast;
-
-import androidx.cardview.widget.CardView;
 import androidx.recyclerview.widget.RecyclerView;
 
-public class CardRecyclerViewAdapter extends RecyclerView.Adapter<CardRecyclerViewAdapter.ViewHolder> {
-    private String[] localDataSet;
-
-    public static class ViewHolder extends RecyclerView.ViewHolder {
-        private final TextView textViewPos;
-        private final TextView textViewText;
-        private final CardView card;
-        private final ImageView image;
-
-        public ViewHolder(View view) {
-            super(view);
-
-            textViewPos = (TextView) view.findViewById(R.id.card_pos_tv);
-            textViewText = (TextView) view.findViewById(R.id.card_text_info);
-
-            card = (CardView) view.findViewById(R.id.cardview);
-            image = (ImageView) view.findViewById(R.id.card_image);
-
-            card.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    Toast.makeText(v.getContext(), "click sur la card " + getAdapterPosition(), Toast.LENGTH_SHORT).show();
-                }
-            });
-
-            image.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    Toast.makeText(v.getContext(), "click sur l'image de la card " + getAdapterPosition(), Toast.LENGTH_SHORT).show();
-                }
-            });
-        }
-
-        public CardView getCard() {
-            return card;
-        }
-
-        public ImageView getImage() {
-            return image;
-        }
+import java.util.ArrayList;
 
-        public TextView getTextViewPos() {
-            return textViewPos;
-        }
+public class CardRecyclerViewAdapter extends RecyclerView.Adapter<CardViewHolder> {
+    public ArrayList<String> localDataSet;
 
-        public TextView getTextViewInfo() {
-            return textViewText;
-        }
+    public void removeAt(int position) {
+        localDataSet.remove(position);
+        notifyItemRemoved(position);
+        notifyItemRangeChanged(position, localDataSet.size());
     }
 
-    public CardRecyclerViewAdapter(String[] data) {
+    public CardRecyclerViewAdapter(ArrayList<String> data) {
         localDataSet = data;
     }
 
-    public CardRecyclerViewAdapter.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {
+    public CardViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {
         View view = LayoutInflater.from(viewGroup.getContext())
                 .inflate(R.layout.card, viewGroup, false);
 
-        return new CardRecyclerViewAdapter.ViewHolder(view);
+        return new CardViewHolder(view, this);
     }
 
     @Override
-    public void onBindViewHolder(CardRecyclerViewAdapter.ViewHolder viewHolder, final int position) {
+    public void onBindViewHolder(CardViewHolder viewHolder, final int position) {
         viewHolder.getTextViewPos().setText("" + position);
-        viewHolder.getTextViewInfo().setText(localDataSet[position]);
+        viewHolder.getTextViewInfo().setText(localDataSet.get(position));
     }
 
     @Override
     public int getItemCount() {
-        return localDataSet.length;
+        return localDataSet.size();
     }
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/example/tp_reclyclerview/CardViewHolder.java b/app/src/main/java/com/example/tp_reclyclerview/CardViewHolder.java
new file mode 100644
index 0000000000000000000000000000000000000000..ae0108c7e26f0fc96c685ddc4100ce8ed5d091bb
--- /dev/null
+++ b/app/src/main/java/com/example/tp_reclyclerview/CardViewHolder.java
@@ -0,0 +1,76 @@
+package com.example.tp_reclyclerview;
+
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import androidx.cardview.widget.CardView;
+import androidx.recyclerview.widget.RecyclerView;
+
+public class CardViewHolder extends RecyclerView.ViewHolder {
+    private CardRecyclerViewAdapter holder;
+    private TextView textViewPos;
+    private TextView textViewText;
+    private CardView card;
+    private ImageView image;
+    private TextView delete;
+
+    public CardViewHolder(View view, CardRecyclerViewAdapter holder) {
+        super(view);
+        this.holder = holder;
+
+        textViewPos = (TextView) view.findViewById(R.id.card_pos_tv);
+        textViewText = (TextView) view.findViewById(R.id.card_text_info);
+
+        card = (CardView) view.findViewById(R.id.cardview);
+        image = (ImageView) view.findViewById(R.id.card_image);
+        delete = (TextView) view.findViewById(R.id.card_pos_tv);
+
+
+        card.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                Toast.makeText(v.getContext(), "click sur la card " + getAdapterPosition(), Toast.LENGTH_SHORT).show();
+            }
+        });
+
+        image.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                Toast.makeText(v.getContext(), "click sur l'image de la card " + getAdapterPosition(), Toast.LENGTH_SHORT).show();
+            }
+        });
+
+        delete.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                selfRemove();
+            }
+        });
+    }
+
+    private void selfRemove() {
+        holder.removeAt(getAdapterPosition());
+    }
+
+    public TextView getDelete() {
+        return delete;
+    }
+
+    public CardView getCard() {
+        return card;
+    }
+
+    public ImageView getImage() {
+        return image;
+    }
+
+    public TextView getTextViewPos() {
+        return textViewPos;
+    }
+
+    public TextView getTextViewInfo() {
+        return textViewText;
+    }
+}
diff --git a/app/src/main/java/com/example/tp_reclyclerview/MainActivity.java b/app/src/main/java/com/example/tp_reclyclerview/MainActivity.java
index ccbfba976ad6cc227b6f7fab1fc39b35397f0ee6..55d7ccbc9d2834fe9b1680e8705406ea5a3d42ae 100644
--- a/app/src/main/java/com/example/tp_reclyclerview/MainActivity.java
+++ b/app/src/main/java/com/example/tp_reclyclerview/MainActivity.java
@@ -7,11 +7,12 @@ import androidx.recyclerview.widget.RecyclerView;
 
 import android.os.Bundle;
 
+import java.util.ArrayList;
 import java.util.Random;
 
 public class MainActivity extends AppCompatActivity {
 
-    String[] datas ;
+    ArrayList<String> datas ;
     private static int spawnCount = 2;
 
     @Override
@@ -44,9 +45,9 @@ public class MainActivity extends AppCompatActivity {
     }
 
     public void genDatas(int number) {
-        datas = new String[number];
+        datas = new ArrayList<>();
         for(int i = 0; i < number; i++) {
-            datas[i] = genRandomStr(number*10);
+            datas.add(genRandomStr(number*10));
         }
     }
 }
\ No newline at end of file