Proyectos de Subversion Android Microlearning - Nuevo Interface

Rev

Rev 25 | Rev 53 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
2 gabriel 1
package com.cesams.twogetskills.adapter;
2
 
3
 
4
import android.content.Context;
25 gabriel 5
import android.graphics.Color;
6
import android.util.Log;
2 gabriel 7
import android.view.LayoutInflater;
8
import android.view.View;
9
import android.view.ViewGroup;
11 gabriel 10
import android.widget.Button;
2 gabriel 11
import android.widget.ImageView;
12
import android.widget.TextView;
13
 
14
import androidx.annotation.NonNull;
25 gabriel 15
import androidx.cardview.widget.CardView;
2 gabriel 16
import androidx.recyclerview.widget.RecyclerView;
17
 
18
import com.bumptech.glide.Glide;
19
import com.bumptech.glide.load.engine.DiskCacheStrategy;
20
import com.bumptech.glide.load.model.GlideUrl;
21
import com.bumptech.glide.load.model.LazyHeaders;
22
import com.bumptech.glide.request.RequestOptions;
23
import com.cesams.twogetskills.Constants;
24
import com.cesams.twogetskills.library.MD5;
25
 
26
import com.cesams.twogetskills.R;
27
import com.cesams.twogetskills.skeleton.ITwoGetSkills;
28
 
25 gabriel 29
import java.text.SimpleDateFormat;
30
import java.time.LocalDateTime;
31
import java.time.format.DateTimeFormatter;
2 gabriel 32
import java.util.ArrayList;
33
import java.util.Calendar;
25 gabriel 34
import java.util.Date;
2 gabriel 35
import java.util.HashMap;
36
import java.util.Random;
37
import java.util.TimeZone;
38
 
39
public class CardViewAdapter extends RecyclerView.Adapter<CardViewAdapter.MyViewHolder> {
40
 
41
    private ArrayList<HashMap<String, String>> mDataSet;
42
 
43
    private ClickListener clickListener;
44
    private View.OnFocusChangeListener focusChangeListener;
45
    private Context mContext;
46
    private ITwoGetSkills iTwoGetSkills;
47
 
48
    public CardViewAdapter(Context context, ArrayList<HashMap<String, String>> mDataSet) {
49
        this.mDataSet = mDataSet;
50
        this.mContext = context;
51
        this.iTwoGetSkills = (ITwoGetSkills) context;
52
    }
53
 
54
    @NonNull
55
    @Override
56
    public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
11 gabriel 57
        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.notification_item, parent, false);
2 gabriel 58
        return new MyViewHolder(v);
59
    }
60
 
61
    @Override
62
    public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
63
        HashMap<String, String> data = mDataSet.get(position);
64
        holder.bindData(data);
65
    }
66
 
67
    @Override
68
    public int getItemCount() {
69
        return (mDataSet != null) ? mDataSet.size() : 0;
70
    }
71
 
72
    public String getItem(int position) {
73
        return (mDataSet != null) ? String.valueOf(mDataSet.get(position)) : null;
74
    }
75
 
76
    void setOnFocusChangeListener(View.OnFocusChangeListener focusChangeListener){
77
        this.focusChangeListener = focusChangeListener;
78
    }
79
 
80
 
81
 
82
    public class MyViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
83
 
84
        private TextView titulo;
11 gabriel 85
        private TextView descripcion;
86
        private Button cerrar;
25 gabriel 87
        private CardView card;
2 gabriel 88
 
89
 
90
        public MyViewHolder(@NonNull View itemView) {
91
            super(itemView);
11 gabriel 92
            titulo = itemView.findViewById(R.id.titlenotifi);
93
            descripcion = itemView.findViewById(R.id.description);
94
            cerrar = itemView.findViewById(R.id.button);
25 gabriel 95
            card = itemView.findViewById(R.id.card_notifi);
2 gabriel 96
 
97
            if (clickListener != null) {
25 gabriel 98
                card.setFocusable(true);
99
                card.setOnClickListener(this);
2 gabriel 100
 
101
 
102
            }
103
        }
104
 
105
        public void bindData(final HashMap<String, String> data) {
106
 
107
            data.entrySet();
108
 
39 gabriel 109
            String title, descripciones,url,color;
2 gabriel 110
 
11 gabriel 111
            title= data.get("titulo");
112
            descripciones=data.get("descripcion");
25 gabriel 113
            //date= data.get("date");
114
            color=data.get("color");
39 gabriel 115
            url=data.get("url");
2 gabriel 116
 
39 gabriel 117
 
118
 
119
            if (!color.equals(""))
25 gabriel 120
            {
121
                card.setCardBackgroundColor(Color.WHITE);
122
            }
11 gabriel 123
 
25 gabriel 124
 
11 gabriel 125
            if(titulo != null)
2 gabriel 126
            {
11 gabriel 127
                titulo.setText(title);
2 gabriel 128
 
129
            }
130
 
11 gabriel 131
          if(descripciones != null)
132
          {
133
              descripcion.setText(descripciones);
134
          }
2 gabriel 135
 
136
        }
137
 
138
        @Override
139
        public void onClick(View v) {
140
            if (clickListener != null) {
141
                clickListener.onItemClick(getBindingAdapterPosition(), v);
142
            }
143
        }
144
 
145
 
146
 
147
    }
148
 
25 gabriel 149
    // allows clicks events to be caught
150
    public void setClickListener(ClickListener itemClickListener) {
151
        this.clickListener = itemClickListener;
152
    }
153
 
2 gabriel 154
    public interface ClickListener {
155
        void onItemClick(int position, View v);
156
    }
157
 
158
}