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
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.comment_item, parent, false);
return new MyViewHolder(v);
}
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
HashMap<String, String> data = mDataSet.get(position);
try {
holder.bindData(data);
} catch (ParseException e) {
e.printStackTrace();
}
}
@Override
public 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));
}
@Override
public void onClick(View v) {
if (clickListener != null) {
clickListener.onItemClick(getBindingAdapterPosition(), v);
}
}
}
// allows clicks events to be caught
public void setClickListener(ClickListener itemClickListener) {
this.clickListener = itemClickListener;
}
public interface ClickListener {
void onItemClick(int position, View v);
}
}