Rev 1 | AutorÃa | Comparar con el anterior | Ultima modificación | Ver Log |
package com.cesams.twogetskills.inconcert.adapter;import android.content.Context;import android.graphics.Color;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.Button;import android.widget.TextView;import androidx.annotation.NonNull;import androidx.cardview.widget.CardView;import androidx.constraintlayout.widget.ConstraintLayout;import androidx.recyclerview.widget.RecyclerView;import com.cesams.twogetskills.inconcert.R;import com.cesams.twogetskills.inconcert.skeleton.ITwoGetSkills;import java.util.ArrayList;import java.util.HashMap;public class CardViewAdapter extends RecyclerView.Adapter<CardViewAdapter.MyViewHolder> {private ArrayList<HashMap<String, String>> mDataSet;private ClickListener clickListener;private View.OnFocusChangeListener focusChangeListener;private Context mContext;private ITwoGetSkills iTwoGetSkills;public CardViewAdapter(Context context, ArrayList<HashMap<String, String>> mDataSet) {this.mDataSet = mDataSet;this.mContext = context;this.iTwoGetSkills = (ITwoGetSkills) context;}@NonNull@Overridepublic MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.notification_item, parent, false);return new MyViewHolder(v);}@Overridepublic void onBindViewHolder(@NonNull MyViewHolder holder, int position) {HashMap<String, String> data = mDataSet.get(position);holder.bindData(data);}@Overridepublic int getItemCount() {return (mDataSet != null) ? mDataSet.size() : 0;}public String getItem(int position) {return (mDataSet != null) ? String.valueOf(mDataSet.get(position)) : null;}void setOnFocusChangeListener(View.OnFocusChangeListener focusChangeListener){this.focusChangeListener = focusChangeListener;}public class MyViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {private TextView titulo,descripcion,nameofday;private Button cerrar;private CardView card;ConstraintLayout daycategory, notificationitem;public MyViewHolder(@NonNull View itemView) {super(itemView);titulo = itemView.findViewById(R.id.titlenotifi);descripcion = itemView.findViewById(R.id.description);cerrar = itemView.findViewById(R.id.button);card = itemView.findViewById(R.id.card_notifi);daycategory = itemView.findViewById(R.id.daycategory);notificationitem = itemView.findViewById(R.id.notificationitem);nameofday= itemView.findViewById(R.id.nameofday);if (clickListener != null) {card.setFocusable(true);card.setOnClickListener(this);}}public void bindData(final HashMap<String, String> data) {data.entrySet();String title, descripciones,color,day, fecha;title= data.get("titulo");descripciones=data.get("descripcion");color=data.get("color");day=data.get("day");fecha=data.get("date");if(!day.equals("")){Log.e("Hay notificaciones","este dia");daycategory.setVisibility(View.VISIBLE);notificationitem.setVisibility(View.GONE);card.setCardBackgroundColor(Color.WHITE);if(day.equals("today")) {nameofday.setText("Hoy");}if(day.equals("yesterday")){nameofday.setText("Ayer");}if(day.equals("other")){nameofday.setText(fecha);}}if (!color.equals("") ){card.setCardBackgroundColor(Color.WHITE);}if(titulo != null){titulo.setText(title);}if(descripciones != null){descripcion.setText(descripciones);}}@Overridepublic void onClick(View v) {if (clickListener != null) {clickListener.onItemClick(getBindingAdapterPosition(), v);}}}// allows clicks events to be caughtpublic void setClickListener(ClickListener itemClickListener) {this.clickListener = itemClickListener;}public interface ClickListener {void onItemClick(int position, View v);}}