-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAdapter.java
More file actions
82 lines (62 loc) · 2.71 KB
/
Adapter.java
File metadata and controls
82 lines (62 loc) · 2.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
package com.example.readit;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.cardview.widget.CardView;
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
import java.util.ArrayList;
public class Adapter extends RecyclerView.Adapter<Adapter.ViewHolder> {
Context context;
ArrayList<ModelClass> modelClassList;
public Adapter(Context context, ArrayList<ModelClass> modelClassList) {
this.context = context;
this.modelClassList = modelClassList;
}
@NonNull
@Override
public Adapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context).inflate(R.layout.news, null, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull Adapter.ViewHolder holder, @SuppressLint("RecyclerView") int position) { //had to suppress position
holder.cardView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(context, webView.class);
intent.putExtra("url", modelClassList.get(position).getUrl());
context.startActivity(intent);
}
});
holder.time.setText("Published At: " + modelClassList.get(position).getPublishedAt());
holder.author.setText(modelClassList.get(position).getAuthor());
holder.heading.setText(modelClassList.get(position).getTitle());
holder.content.setText(modelClassList.get(position).getDescription());
Glide.with(context).load(modelClassList.get(position).getUrlToImage()).into(holder.imageview);
}
@Override
public int getItemCount() {
return modelClassList.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
TextView heading, content, author, time;
CardView cardView;
ImageView imageview;
public ViewHolder(@NonNull View itemView) {
super(itemView);
heading = itemView.findViewById(R.id.mainHeading);
content = itemView.findViewById(R.id.content);
author = itemView.findViewById(R.id.author);
time = itemView.findViewById(R.id.time);
imageview = itemView.findViewById(R.id.imageView);
cardView = itemView.findViewById(R.id.cardView);
}
}
}