Cải tiến thêm sự kiện bấm vào 1 phần tử trong danh sách

Như ListView thông thường thì sử dụng setOnItemClick…. nhưng RecyclerView không dùng như vậy. Trên internet có nhiều hướng dẫn cách viết rất dài dòng, bạn hãy sử dụng CardView để thiết lập.

1. Sử dụng CardView theo hướng dẫn ở trên, cardview có đặt id là android:id=”@+id/car_view”

2. Vào file SanPhamViewHolder.java khai báo thêm thuộc tính cardview và findViewById giống như các textview trong đó

Phần khai báo: public CardView car_view;
Phần code trong hàm: car_view = itemView.findViewById(R.id.car_view);

3. Trong hàm onBindViewHolder của adapter, bạn thêm code sau ở cuối:

        final  int pos = position;
        holder.car_view.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(context, "Position " + pos, Toast.LENGTH_SHORT).show();
            }
        });

 

chạy thử để xem kết quả Toast, có được vị trí của phần tử hiện tại rồi thì làm gì là tùy bạn.