Added Android code
[wl-app.git] / Android / app / src / main / java / com / moiseum / wolnelektury / view / news / NewsListAdapter.java
1 package com.moiseum.wolnelektury.view.news;
2
3 import android.content.Context;
4 import android.support.annotation.NonNull;
5 import android.view.View;
6 import android.view.ViewGroup;
7 import android.widget.ImageView;
8 import android.widget.TextView;
9
10 import com.bumptech.glide.Glide;
11 import com.bumptech.glide.load.engine.DiskCacheStrategy;
12 import com.moiseum.wolnelektury.R;
13 import com.moiseum.wolnelektury.components.recycler.RecyclerAdapter;
14 import com.moiseum.wolnelektury.components.recycler.ViewHolder;
15 import com.moiseum.wolnelektury.connection.models.NewsModel;
16
17 import butterknife.BindView;
18
19 public class NewsListAdapter extends RecyclerAdapter<NewsModel, NewsListAdapter.NewsViewHolder> {
20
21         static class NewsViewHolder extends ViewHolder<NewsModel> {
22
23                 @BindView(R.id.textViewDate)
24                 TextView txtDate;
25                 @BindView(R.id.textViewLead)
26                 TextView txtLead;
27                 @BindView(R.id.ivNewsThumb)
28                 ImageView newsImage;
29
30                 NewsViewHolder(View view) {
31                         super(view);
32                 }
33
34                 @Override
35                 public void bind(NewsModel item, boolean selected) {
36                         txtDate.setText(item.getTime());
37                         txtLead.setText(item.getTitle());
38                         Glide.with(getContext()).load(item.getThumbUrl()).placeholder(R.drawable.list_nocover).diskCacheStrategy(DiskCacheStrategy.ALL).dontTransform().into(newsImage);
39                 }
40         }
41
42         NewsListAdapter(Context context) {
43                 super(context, RecyclerAdapter.Selection.NONE);
44         }
45
46         @NonNull
47         @Override
48         public NewsViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
49                 View view = inflate(R.layout.news_item, parent);
50                 return new NewsViewHolder(view);
51         }
52
53         @Override
54         protected String getItemId(NewsModel item) {
55                 return item.getKey();
56         }
57 }