Rev 1 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
package com.cesams.twogetskills.inconcert.adapter;import android.content.Context;import android.text.TextUtils;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import android.widget.TextView;import androidx.recyclerview.widget.RecyclerView;import com.cesams.twogetskills.inconcert.Constants;import com.cesams.twogetskills.inconcert.R;import com.cesams.twogetskills.inconcert.entity.Slide;import com.cesams.twogetskills.inconcert.library.ImageService;import com.cesams.twogetskills.inconcert.library.MD5;import com.cesams.twogetskills.inconcert.skeleton.ITwoGetSkills;import java.util.Calendar;import java.util.List;import java.util.Random;import java.util.TimeZone;public class SlideListViewAdapter extends RecyclerView.Adapter<SlideListViewAdapter.ViewHolder> {private final static String TAG = "C2GS - SlideViewAdapter";private List<Slide> mData;private LayoutInflater mInflater;private ItemClickListener mClickListener;private Context mContext;private ITwoGetSkills iTwoGetSkills;// data is passed into the constructorpublic SlideListViewAdapter(Context context, List<Slide> data) {this.mContext = context;this.iTwoGetSkills = (ITwoGetSkills) context;this.mInflater = LayoutInflater.from(context);this.mData = data;}// inflates the row layout from xml when needed@Overridepublic ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {View view = mInflater.inflate(R.layout.fragment_slide_listitem, parent, false);return new ViewHolder(view);}// binds the data to the TextView in each row@Overridepublic void onBindViewHolder(ViewHolder holder, int position) {Slide mItem = mData.get(position);holder.mName.setText(mItem.getName());if(mItem.getCompleted() == 1) {holder.mCheckReady.setVisibility(View.VISIBLE);} else {holder.mCheckReady.setVisibility(View.INVISIBLE);}String image = TextUtils.isEmpty(mItem.getBackground()) ? mItem.getFile() : mItem.getBackground();ImageService.retrieve(mContext,image, holder.mImage);}// total number of rows@Overridepublic int getItemCount() {return mData.size();}// stores and recycles views as they are scrolled off screenpublic class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {TextView mName;//TextView mDescription;//JustifyTextView mDescription;ImageView mImage;ImageView mCheckReady;// ProgressBar mProgressbar;//TextView mProgreess;ViewHolder(View itemView) {super(itemView);mName = (TextView) itemView.findViewById(R.id.fragment_slide_listitem_name);//mDescription = (TextView) itemView.findViewById(R.id.fragment_home_list_item_topic_description);mImage = (ImageView) itemView.findViewById(R.id.fragment_slide_listitem_image);mCheckReady = (ImageView) itemView.findViewById(R.id.fragment_slide_listitem_check_ready);// mProgreess = (TextView) itemView.findViewById(R.id.fragment_slide_listitem_progress);// mProgressbar = (ProgressBar) itemView.findViewById(R.id.fragment_slide_listitem_progressbar);itemView.setOnClickListener(this);}@Overridepublic void onClick(View view) {if (mClickListener != null) {mClickListener.onItemClick(view, getAdapterPosition());}}}// convenience method for getting data at click positionpublic Slide getItem(int id) {return mData.get(id);}// allows clicks events to be caughtpublic void setClickListener(ItemClickListener itemClickListener) {this.mClickListener = itemClickListener;}// parent activity will implement this method to respond to click eventspublic interface ItemClickListener {public void onItemClick(View view, int position);}}