Rev 14 | 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.ImageView;import android.widget.RatingBar;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.Constants;import com.cesams.twogetskills.inconcert.R;import com.cesams.twogetskills.inconcert.library.ImageService;import com.cesams.twogetskills.inconcert.library.MD5;import com.cesams.twogetskills.inconcert.skeleton.ITwoGetSkills;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Calendar;import java.util.Date;import java.util.HashMap;import java.util.Random;import java.util.TimeZone;public class CommentListViewAdapter extends RecyclerView.Adapter<CommentListViewAdapter.MyViewHolder> {private ArrayList<HashMap<String, String>> mDataSet;private ClickListener clickListener;private View.OnFocusChangeListener focusChangeListener;private Context mContext;private ITwoGetSkills iTwoGetSkills;public CommentListViewAdapter(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.comment_item, parent, false);return new MyViewHolder(v);}@Overridepublic void onBindViewHolder(@NonNull MyViewHolder holder, int position) {HashMap<String, String> data = mDataSet.get(position);try {holder.bindData(data);} catch (ParseException e) {e.printStackTrace();}}@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 user,body,fecha;private RatingBar estrellas;private ImageView foto;private CardView card;public MyViewHolder(@NonNull View itemView) {super(itemView);card = itemView.findViewById(R.id.card_notifi);user = itemView.findViewById(R.id.titlenotifi);body = itemView.findViewById(R.id.description);fecha = itemView.findViewById(R.id.textView24);estrellas = itemView.findViewById(R.id.ratingBar2);foto = itemView.findViewById(R.id.imageView);if (clickListener != null) {card.setFocusable(true);card.setOnClickListener(this);}}public void bindData(final HashMap<String, String> data) throws ParseException {data.entrySet();String userdata, bodydata,fechadata,ratingdata,fotodata;userdata= data.get("user");bodydata=data.get("body");fechadata=data.get("fecha");ratingdata=data.get("rating");fotodata=data.get("image");ImageService.retrieve(mContext, fotodata, foto);user.setText(userdata);body.setText(bodydata);SimpleDateFormat dateFormatOfStringInDB = new SimpleDateFormat(Constants.FORMAT_DATETIME_SERVICE);Date d1 = dateFormatOfStringInDB.parse(fechadata);SimpleDateFormat dateFormatYouWant = new SimpleDateFormat(Constants.FORMAT_DATE_TIME_12);String sCertDate = dateFormatYouWant.format(d1);fecha.setText(sCertDate);estrellas.setRating(Float.parseFloat(ratingdata));}@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);}}