-1

I have a car that loads data from a remote database. Each item in the list has two buttons and I need to make different volley requests for each button. I know how to make the onclick work in the complete item but not how to do it for a widget inside the item.

Item screenshot

I hope you can help me, thanks in advance.

RecyclerViewAdapater:

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

    private static final String TAG = "RecyclerViewAdapter";

    //vars
    private List<Buttons> buttonsList;
    private Context mContext;

    public RecyclerViewAdapter(List<Buttons> buttonsList, Context mContext) {
        this.buttonsList = buttonsList;
        this.mContext = mContext;
    }

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

    @Override
    public void onBindViewHolder(final ViewHolder holder, final int position) {
        Log.d(TAG, "onBindViewHolder: called.");

        Buttons buttons = buttonsList.get(position);
        Glide.with(mContext)
                .load(buttons.getButton_url())
                .into(holder.image);
        holder.name.setText(buttons.getButton_score());
        holder.price.setText(buttons.getButton_price());
    }

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


    public class ViewHolder extends RecyclerView.ViewHolder {

        CircleImageView image;
        TextView name, price;
        Button buy_button, select_button;

        public ViewHolder(View itemView) {
            super(itemView);
            image = (CircleImageView) itemView.findViewById(R.id.image_view);
            name = (TextView) itemView.findViewById(R.id.name);
            price = (TextView) itemView.findViewById(R.id.price);
            buy_button = (Button) itemView.findViewById(R.id.buy_button_item);
            select_button = (Button) itemView.findViewById(R.id.select_button_item);
        }
    }
}

MainActivity:

private void initRecyclerView(){
        Log.d(TAG, "initRecyclerView: init recyclerview");

        final LinearLayoutManager layoutManager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);

        final RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recyclerButtonsView);
        recyclerView.setLayoutManager(layoutManager);
        RecyclerViewAdapter adapter = new RecyclerViewAdapter(buttonsList, this);
        recyclerView.setAdapter(adapter);
}
Br0wn
  • 544
  • 3
  • 19

1 Answers1

0

I solved this with the answer of LordParsley in this post

Br0wn
  • 544
  • 3
  • 19