Min menu

Pages

SAMSUNG

Android RecyclerView with CardView | Creating Adapter + OnItemClickListener - Android Studio


 Android RecyclerView with CardView | Creating Adapter + OnItemClickListener - Android Studio


Source Code



#recyclerview_adapter.class

public class recyclerview_adapter extends RecyclerView.Adapter<recyclerview_adapter.ViewHolder> {

    private ArrayList<recyclerview_list> recyclerview_list;
    private Context context;

    public recyclerview_adapter(ArrayList<com.aloul.recyclerviewtutorial.recyclerview_list> recyclerview_list, Context context) {
        this.recyclerview_list = recyclerview_list;
        this.context = context;
    }

    @NonNull
    @Override
    public recyclerview_adapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.recyclerview_card,parent,false);
        return new ViewHolder(view);
    }

    @Override
    public void onBindViewHolder(@NonNull recyclerview_adapter.ViewHolder holder, int position) {
        holder.imageView.setImageResource(recyclerview_list.get(position).getImage());
        holder.textView.setText(recyclerview_list.get(position).getText());

        holder.cardView.setOnClickListener(e->{
            Intent intent = new Intent(context,pages.class);
            intent.putExtra("id",position);
            context.startActivity(intent);
        });
    }

    @Override
    public int getItemCount() {
        return recyclerview_list.size();
    }

    public class ViewHolder extends RecyclerView.ViewHolder {
        CardView cardView;
        ImageView imageView;
        TextView textView;
        public ViewHolder(@NonNull View itemView) {
            super(itemView);
            cardView = itemView.findViewById(R.id.cardView);
            imageView = itemView.findViewById(R.id.imageView);
            textView = itemView.findViewById(R.id.textView);
        }
    }
}

///////////////////////////////////////////////////////////
#main

public class main extends AppCompatActivity {

    ArrayList<recyclerview_list> recyclerview_list;
    RecyclerView recyclerView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        recyclerView = findViewById(R.id.recyclerView);
        recyclerView.setHasFixedSize(true);
        recyclerView.setLayoutManager(new GridLayoutManager(this,2));

        recyclerview_list = new ArrayList<recyclerview_list>();
        recyclerview_list.add(new recyclerview_list(R.drawable.english,"English"));
        recyclerview_list.add(new recyclerview_list(R.drawable.art,"Art"));
        recyclerview_list.add(new recyclerview_list(R.drawable.sport,"Sport"));
        recyclerview_list.add(new recyclerview_list(R.drawable.history,"History"));
        recyclerview_list.add(new recyclerview_list(R.drawable.geography,"Geography"));
        recyclerview_list.add(new recyclerview_list(R.drawable.math,"Math"));
        recyclerview_list.add(new recyclerview_list(R.drawable.tech,"Tech"));
        recyclerview_list.add(new recyclerview_list(R.drawable.science,"Science"));

        recyclerview_adapter recyclerview_adapter = new recyclerview_adapter(recyclerview_list,this);
        recyclerView.setAdapter(recyclerview_adapter);
    }
}

///////////////////////////////////////////////////////////
#pages

public class pages extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_pages);

        int pageId = getIntent().getIntExtra("id",0);

        TextView textPageId = findViewById(R.id.textPageId);
        textPageId.setText("PAGE : " + pageId);
    }
}

Watch This Video


 

《《《 Links 》》》


To Subscribe to our YouTube Channel


Source Code + Project



reaction:
Muhammad Al-Aloul
Muhammad Al-Aloul
Software Engineer and Graphic Designer

Comments