Proyectos de Subversion Android Microlearning - Nuevo Interface

Rev

Rev 71 | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 gabriel 1
package com.cesams.twogetskills.adapter;
2
 
3
import android.content.Context;
4
import android.text.TextUtils;
5
import android.util.Log;
6
import android.view.LayoutInflater;
7
import android.view.View;
8
import android.view.ViewGroup;
9
import android.widget.ImageView;
10
import android.widget.TextView;
11
import androidx.recyclerview.widget.RecyclerView;
12
 
13
import com.cesams.twogetskills.Constants;
14
import com.cesams.twogetskills.R;
15
import com.cesams.twogetskills.entity.Slide;
71 efrain 16
import com.cesams.twogetskills.library.ImageService;
1 gabriel 17
import com.cesams.twogetskills.library.MD5;
18
import com.cesams.twogetskills.skeleton.ITwoGetSkills;
19
 
20
 
21
import java.util.Calendar;
22
import java.util.List;
23
import java.util.Random;
24
import java.util.TimeZone;
25
 
26
public class SlideListViewAdapter extends RecyclerView.Adapter<SlideListViewAdapter.ViewHolder> {
27
    private final static String TAG = "C2GS - SlideViewAdapter";
28
    private List<Slide> mData;
29
    private LayoutInflater mInflater;
30
    private ItemClickListener mClickListener;
31
    private Context mContext;
32
    private ITwoGetSkills iTwoGetSkills;
33
 
34
 
35
    // data is passed into the constructor
36
    public SlideListViewAdapter(Context context, List<Slide> data) {
37
        this.mContext = context;
38
        this.iTwoGetSkills = (ITwoGetSkills) context;
39
        this.mInflater = LayoutInflater.from(context);
40
        this.mData = data;
41
    }
42
 
43
    // inflates the row layout from xml when needed
44
    @Override
45
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
46
        View view = mInflater.inflate(R.layout.fragment_slide_listitem, parent, false);
47
        return new ViewHolder(view);
48
    }
49
 
50
    // binds the data to the TextView in each row
51
    @Override
52
    public void onBindViewHolder(ViewHolder holder, int position) {
53
        Slide mItem = mData.get(position);
54
        holder.mName.setText(mItem.getName());
55
 
56
        if(mItem.getCompleted() == 1) {
57
            holder.mCheckReady.setVisibility(View.VISIBLE);
58
 
59
        } else {
60
            holder.mCheckReady.setVisibility(View.INVISIBLE);
61
        }
62
 
63
        String image = TextUtils.isEmpty(mItem.getBackground()) ? mItem.getFile() : mItem.getBackground();
71 efrain 64
        ImageService.retrieve(mContext,image, holder.mImage);
1 gabriel 65
 
66
    }
67
 
68
    // total number of rows
69
    @Override
70
    public int getItemCount() {
71
        return mData.size();
72
    }
73
 
74
 
75
    // stores and recycles views as they are scrolled off screen
76
    public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
77
        TextView mName;
78
        //TextView mDescription;
79
        //JustifyTextView mDescription;
80
        ImageView mImage;
81
        ImageView mCheckReady;
82
       // ProgressBar mProgressbar;
83
        //TextView mProgreess;
84
 
85
 
86
        ViewHolder(View itemView) {
87
            super(itemView);
88
            mName = (TextView) itemView.findViewById(R.id.fragment_slide_listitem_name);
89
            //mDescription = (TextView) itemView.findViewById(R.id.fragment_home_list_item_topic_description);
90
            mImage = (ImageView) itemView.findViewById(R.id.fragment_slide_listitem_image);
91
            mCheckReady = (ImageView) itemView.findViewById(R.id.fragment_slide_listitem_check_ready);
92
           // mProgreess = (TextView) itemView.findViewById(R.id.fragment_slide_listitem_progress);
93
           // mProgressbar = (ProgressBar) itemView.findViewById(R.id.fragment_slide_listitem_progressbar);
94
            itemView.setOnClickListener(this);
95
        }
96
 
97
        @Override
98
        public void onClick(View view) {
99
            if (mClickListener != null) {
73 efrain 100
                mClickListener.onItemClick(view, getAbsoluteAdapterPosition());
1 gabriel 101
            }
102
        }
103
    }
104
 
105
    // convenience method for getting data at click position
106
    public Slide getItem(int id) {
107
        return mData.get(id);
108
    }
109
 
110
    // allows clicks events to be caught
111
    public void setClickListener(ItemClickListener itemClickListener) {
112
        this.mClickListener = itemClickListener;
113
    }
114
 
115
    // parent activity will implement this method to respond to click events
116
    public interface ItemClickListener {
117
        public void onItemClick(View view, int position);
118
    }
119
}