package
com.example.itemclickinterface;
import
android.graphics.Color;
import
android.view.LayoutInflater;
import
android.view.View;
import
android.view.ViewGroup;
import
android.widget.TextView;
import
androidx.annotation.NonNull;
import
androidx.cardview.widget.CardView;
import
androidx.recyclerview.widget.RecyclerView;
import
java.util.ArrayList;
public
class
MainAdapter
extends
RecyclerView.Adapter<MainAdapter.ViewHolder> {
ArrayList<String> arrayList;
ItemClickListener itemClickListener;
int
selectedPosition=-
1
;
public
MainAdapter(ArrayList<String> arrayList,ItemClickListener itemClickListener)
{
this
.arrayList=arrayList;
this
.itemClickListener=itemClickListener;
}
@NonNull
@Override
public
ViewHolder onCreateViewHolder(
@NonNull
ViewGroup parent,
int
viewType) {
View view= LayoutInflater.from(parent.getContext())
.inflate(R.layout.item_main,parent,
false
);
return
new
ViewHolder(view);
}
@Override
public
void
onBindViewHolder(
@NonNull
ViewHolder holder,
int
position) {
holder.textView.setText(arrayList.get(position));
holder.itemView.setOnClickListener(
new
View.OnClickListener() {
@Override
public
void
onClick(View v) {
int
position=holder.getAdapterPosition();
itemClickListener.onClick(position,arrayList.get(position));
selectedPosition=position;
notifyDataSetChanged();
}
});
if
(selectedPosition==position)
{
holder.cardView.setCardBackgroundColor(Color.parseColor(
"#000000"
));
holder.textView.setTextColor(Color.parseColor(
"#FFFFFF"
));
}
else
{
holder.cardView.setCardBackgroundColor(Color.parseColor(
"#FFFFFF"
));
holder.textView.setTextColor(Color.parseColor(
"#000000"
));
}
}
@Override
public
int
getItemCount() {
return
arrayList.size();
}
public
class
ViewHolder
extends
RecyclerView.ViewHolder {
CardView cardView;
TextView textView;
public
ViewHolder(
@NonNull
View itemView) {
super
(itemView);
cardView=itemView.findViewById(R.id.card_view);
textView=itemView.findViewById(R.id.text_View);
}
}
}