Sajib_Ahmed

RecyclerView Adapter

Mar 28th, 2021
514
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.38 KB | None | 0 0
  1. package com.example.recview;
  2.  
  3. import android.content.Context;
  4. import android.support.annotation.NonNull;
  5. import android.support.v7.widget.RecyclerView;
  6. import android.view.LayoutInflater;
  7. import android.view.View;
  8. import android.view.ViewGroup;
  9. import android.widget.ImageView;
  10. import android.widget.TextView;
  11.  
  12. public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> {
  13.  
  14.     int[] imgs;
  15.     String[] leaderNames;
  16.     Context context;
  17.     private static ClickListener clickListener;
  18.  
  19.     public MyAdapter(int[] imgs, String[] leaderNames, Context context) {
  20.         this.imgs = imgs;
  21.         this.leaderNames = leaderNames;
  22.         this.context = context;
  23.     }
  24.  
  25.     @NonNull
  26.     @Override
  27.     public MyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
  28.         LayoutInflater layoutInflater = LayoutInflater.from(context);
  29.         View view= layoutInflater.inflate(R.layout.sample_layout,viewGroup,false);
  30.  
  31.  
  32.         return new MyViewHolder(view);
  33.     }
  34.  
  35.     @Override
  36.     public void onBindViewHolder(@NonNull MyViewHolder myViewHolder, int i) {
  37.         myViewHolder.leadernames.setText(leaderNames[i]);
  38.         myViewHolder.imgs.setImageResource(imgs[i]);
  39.  
  40.     }
  41.  
  42.     @Override
  43.     public int getItemCount() {
  44.  
  45.         return leaderNames.length;
  46.     }
  47.  
  48.     class MyViewHolder extends RecyclerView.ViewHolder implements  View.OnClickListener, View.OnLongClickListener {
  49.         TextView leadernames;
  50.         ImageView imgs;
  51.         public MyViewHolder(@NonNull View itemView) {
  52.             super(itemView);
  53.             leadernames=itemView.findViewById(R.id.leaderName);
  54.             imgs= itemView.findViewById(R.id.imageViewId);
  55.             itemView.setOnClickListener(this);
  56.             itemView.setOnLongClickListener(this);
  57.         }
  58.  
  59.         @Override
  60.         public void onClick(View v) {
  61.             clickListener.onItemClick(getAdapterPosition(),v);
  62.  
  63.         }
  64.  
  65.         @Override
  66.         public boolean onLongClick(View v) {
  67.             clickListener.onItemLongClick(getAdapterPosition(),v);
  68.             return false;
  69.         }
  70.     }
  71.  
  72.  
  73.      public interface  ClickListener{
  74.         void onItemClick(int position ,View v);
  75.         void onItemLongClick(int position, View v);
  76.    }
  77.    public void setOnItemClickListener(ClickListener clickListener)
  78.    {
  79.        MyAdapter.clickListener = clickListener;
  80.    }
  81. }
  82.  
Advertisement
Add Comment
Please, Sign In to add comment