Proyectos de Subversion Android Microlearning - Inconcert

Rev

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

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