1
+ package com .example .carousel ;
2
+
3
+ import android .content .Context ;
4
+ import android .view .LayoutInflater ;
5
+ import android .view .View ;
6
+ import android .view .ViewGroup ;
7
+ import android .widget .ImageView ;
8
+
9
+ import androidx .annotation .NonNull ;
10
+ import androidx .recyclerview .widget .RecyclerView ;
11
+
12
+ import com .bumptech .glide .Glide ;
13
+
14
+ import java .util .ArrayList ;
15
+
16
+ public class ImageAdapter extends RecyclerView .Adapter <ImageAdapter .ViewHolder > {
17
+ Context context ;
18
+ ArrayList <String > arrayList ;
19
+ OnItemClickListener onItemClickListener ;
20
+
21
+ public ImageAdapter (Context context , ArrayList <String > arrayList ) {
22
+ this .context = context ;
23
+ this .arrayList = arrayList ;
24
+ }
25
+
26
+ @ NonNull
27
+ @ Override
28
+ public ViewHolder onCreateViewHolder (@ NonNull ViewGroup parent , int viewType ) {
29
+ View view = LayoutInflater .from (context ).inflate (R .layout .image_list_item , parent , false );
30
+ return new ViewHolder (view );
31
+ }
32
+
33
+ @ Override
34
+ public void onBindViewHolder (@ NonNull ViewHolder holder , int position ) {
35
+ Glide .with (context ).load (arrayList .get (position )).into (holder .imageView );
36
+ holder .itemView .setOnClickListener (view -> onItemClickListener .onClick (holder .imageView , arrayList .get (position )));
37
+ }
38
+
39
+ @ Override
40
+ public int getItemCount () {
41
+ return arrayList .size ();
42
+ }
43
+
44
+ public static class ViewHolder extends RecyclerView .ViewHolder {
45
+ ImageView imageView ;
46
+ public ViewHolder (@ NonNull View itemView ) {
47
+ super (itemView );
48
+ imageView = itemView .findViewById (R .id .list_item_image );
49
+ }
50
+ }
51
+
52
+ public void setOnItemClickListener (OnItemClickListener onItemClickListener ) {
53
+ this .onItemClickListener = onItemClickListener ;
54
+ }
55
+
56
+ public interface OnItemClickListener {
57
+ void onClick (ImageView imageView , String path );
58
+ }
59
+ }
0 commit comments