0

Android Recycler View OnClick event is not working in the code. I can see the Recycler view grid but when I am clicking on one item nothing is happening.

Here is my code:

public class StaggeredGridAdapter extends RecyclerView.Adapter<StaggeredGridAdapter.StaggeredGridView> {

private Context context;
private List<Warehouse> warehouses = new ArrayList<Warehouse>();
int size;
public StaggeredGridAdapter(Context context) {
    this.context = context;
}

public void addItems(List<Warehouse> response) {
    size = response.size();
    warehouses = response;
}

@Override
public StaggeredGridView onCreateViewHolder(ViewGroup parent, int viewType) {
    View layoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.grid_item, parent, false);
    StaggeredGridView staggeredGridView = new StaggeredGridView(layoutView);
    return staggeredGridView;
}

@Override
public void onBindViewHolder(StaggeredGridView holder, int position) {
    holder.textView.setText(warehouses.get(position).getFace());

}

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

class StaggeredGridView extends RecyclerView.ViewHolder implements View.OnClickListener {
    TextView textView;

    public StaggeredGridView(View itemView) {
        super(itemView);

        textView = (TextView) itemView.findViewById(R.id.img_name);

    }

    @Override
    public void onClick(View v) {
        Toast.makeText(context, "clicked", Toast.LENGTH_SHORT).show();

    }
}

}

I inherited inner class i.e. StaggeredGridView with Views.OnClickListner and debug point is not reaching to StaggeredGridView.OnClick method. There is no exception in ADB logs.

What I am doing wrong here?

2 Answers2

1

You need to do this simple thing and it will start working with you

itemView.setOnClickListener(this)
Usman Kurd
  • 7,212
  • 7
  • 57
  • 86
0

//add this

public StaggeredGridView(View itemView) {
        super(itemView);

        textView = (TextView) itemView.findViewById(R.id.img_name);
        staggeredGridView.setOnClickListener(this)

    }
Divya Bhaloidiya
  • 5,018
  • 2
  • 25
  • 45