Skip to content
Snippets Groups Projects
Commit 66b516c8 authored by Valentin Bout's avatar Valentin Bout
Browse files

feat: add destroy button on click on position

parent 08367ba2
No related branches found
No related tags found
No related merge requests found
package com.example.tp_reclyclerview; package com.example.tp_reclyclerview;
import android.media.Image;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; 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; import androidx.recyclerview.widget.RecyclerView;
public class CardRecyclerViewAdapter extends RecyclerView.Adapter<CardRecyclerViewAdapter.ViewHolder> { import java.util.ArrayList;
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() { public class CardRecyclerViewAdapter extends RecyclerView.Adapter<CardViewHolder> {
return card; public ArrayList<String> localDataSet;
}
public ImageView getImage() { public void removeAt(int position) {
return image; localDataSet.remove(position);
} notifyItemRemoved(position);
notifyItemRangeChanged(position, localDataSet.size());
public TextView getTextViewPos() {
return textViewPos;
}
public TextView getTextViewInfo() {
return textViewText;
}
} }
public CardRecyclerViewAdapter(String[] data) { public CardRecyclerViewAdapter(ArrayList<String> data) {
localDataSet = data; localDataSet = data;
} }
public CardRecyclerViewAdapter.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) { public CardViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {
View view = LayoutInflater.from(viewGroup.getContext()) View view = LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.card, viewGroup, false); .inflate(R.layout.card, viewGroup, false);
return new CardRecyclerViewAdapter.ViewHolder(view); return new CardViewHolder(view, this);
} }
@Override @Override
public void onBindViewHolder(CardRecyclerViewAdapter.ViewHolder viewHolder, final int position) { public void onBindViewHolder(CardViewHolder viewHolder, final int position) {
viewHolder.getTextViewPos().setText("" + position); viewHolder.getTextViewPos().setText("" + position);
viewHolder.getTextViewInfo().setText(localDataSet[position]); viewHolder.getTextViewInfo().setText(localDataSet.get(position));
} }
@Override @Override
public int getItemCount() { public int getItemCount() {
return localDataSet.length; return localDataSet.size();
} }
} }
\ No newline at end of file
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;
}
}
...@@ -7,11 +7,12 @@ import androidx.recyclerview.widget.RecyclerView; ...@@ -7,11 +7,12 @@ import androidx.recyclerview.widget.RecyclerView;
import android.os.Bundle; import android.os.Bundle;
import java.util.ArrayList;
import java.util.Random; import java.util.Random;
public class MainActivity extends AppCompatActivity { public class MainActivity extends AppCompatActivity {
String[] datas ; ArrayList<String> datas ;
private static int spawnCount = 2; private static int spawnCount = 2;
@Override @Override
...@@ -44,9 +45,9 @@ public class MainActivity extends AppCompatActivity { ...@@ -44,9 +45,9 @@ public class MainActivity extends AppCompatActivity {
} }
public void genDatas(int number) { public void genDatas(int number) {
datas = new String[number]; datas = new ArrayList<>();
for(int i = 0; i < number; i++) { for(int i = 0; i < number; i++) {
datas[i] = genRandomStr(number*10); datas.add(genRandomStr(number*10));
} }
} }
} }
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment