AutorÃa | Ultima modificación | Ver Log |
package com.cesams.twogetskills.adapter;
import android.content.Context;
import android.text.Html;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.cardview.widget.CardView;
import androidx.recyclerview.widget.RecyclerView;
import com.cesams.twogetskills.inconcert.Constants;
import com.cesams.twogetskills.inconcert.R;
import com.cesams.twogetskills.inconcert.entity.Capsule;
import com.cesams.twogetskills.inconcert.library.ImageService;
import com.cesams.twogetskills.inconcert.skeleton.ITwoGetSkills;
import org.apache.commons.lang3.StringUtils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class MyCapsulesAdapter extends RecyclerView.Adapter<MyCapsulesAdapter.MyViewHolder> {
private List<Capsule> mDataSet;
private Context mContext;
private ITwoGetSkills iTwoGetSkills;
private ClickListener clickListener;
public MyCapsulesAdapter(Context context, List<Capsule> 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.fragment_my_capsules_item, parent, false);
MyViewHolder viewHolder = new MyViewHolder(v);
return viewHolder;
}
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
Capsule data = mDataSet.get(position);
holder.bindData(data);
}
@Override
public int getItemCount() {
return (mDataSet != null) ? mDataSet.size() : 0;
}
/* void setOnItemClickListener(ClickListener clickListener) {
this.clickListener = clickListener;
}
*/
public class MyViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
private TextView textViewTitle;
private TextView textViewSlides;
private TextView textViewProgress;
private CardView cardView;
private ImageView imageView;
public MyViewHolder(@NonNull View itemView) {
super(itemView);
textViewTitle = itemView.findViewById(R.id.fragment_my_capsules_item_textview_title);
textViewSlides = itemView.findViewById(R.id.fragment_my_capsules_item_textview_slides);
textViewProgress = itemView.findViewById(R.id.fragment_my_capsules_item_textview_progress);
imageView = itemView.findViewById(R.id.fragment_my_capsules_item_imageview);
cardView = itemView.findViewById(R.id.fragment_my_capsules_item);
if (clickListener != null) {
cardView.setFocusable(true);
cardView.setOnClickListener(this);
/*
entrar.setFocusable(true);
entrar.setOnClickListener(this);
*/
}
}
public void bindData(final Capsule capsule) {
String title = StringUtils.trim(capsule.getName());
if (title.length() > Constants.MY_CAPSULES_ITEM_TITLE_MAX_LENGTH) {
textViewTitle.setText(StringUtils.substring(title, 0, Constants.MY_CAPSULES_ITEM_TITLE_MAX_LENGTH) + "...");
} else {
textViewTitle.setText(title);
}
String textSlides = mContext.getString(R.string.my_capsules_listing_item_slides);
textSlides = StringUtils.replace(textSlides, "%totalViews%", String.valueOf(capsule.getViewSlides()));
textSlides = StringUtils.replace(textSlides, "%totalSlides%", String.valueOf(capsule.getTotalSlides()));
textViewSlides.setText(textSlides);
textViewProgress.setText("");
if (!StringUtils.isEmpty(capsule.getImage())) {
ImageService.retrieve(mContext, capsule.getImage(), imageView);
}
}
@Override
public void onClick(View v) {
if (clickListener != null) {
clickListener.onItemClick(getAbsoluteAdapterPosition(), v);
}
}
}
// allows clicks events to be caught
public void setClickListener(ClickListener itemClickListener) {
this.clickListener = itemClickListener;
}
public interface ClickListener {
void onItemClick(int position, View v);
}}