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@Overridepublic 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;}@Overridepublic void onBindViewHolder(@NonNull MyViewHolder holder, int position) {Capsule data = mDataSet.get(position);holder.bindData(data);}@Overridepublic 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);}}@Overridepublic void onClick(View v) {if (clickListener != null) {clickListener.onItemClick(getAbsoluteAdapterPosition(), v);}}}// allows clicks events to be caughtpublic void setClickListener(ClickListener itemClickListener) {this.clickListener = itemClickListener;}public interface ClickListener {void onItemClick(int position, View v);}}