首页 文章

处理点击回收者列表视图项目内的按钮

提问于
浏览
0

以下是我的代码,我想在单击BtnAdd时添加一个,并通过单击BtnSub减少计数,但我找不到处理按钮上的事件的方法,因此更新计数..

我找了https://developer.android.com/reference/android/support/v7/widget/RecyclerView.OnItemTouchListener.html

但这会点击整个项目 . 我需要处理回收站视图的行项目内的项目 .

请建议是否有任何方法来实现这一目标 .

public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ItemHolder>{

   private ArrayList<Item> items;

    public MyAdapter(ArrayList<Item> items) {
        this.items = items;
    }

    @Override
    public ItemHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.single_item_layout, parent, false);
        view.setOnClickListener(mOnClickListener);
        ItemHolder orderObjectHolder = new ItemHolder(view);
        return orderObjectHolder;
    }

    @Override
    public void onBindViewHolder(ItemHolder holder, int position) {
        final Item item = items.get(position);
        holder.countText.setText("");
        holder.currentItem = item;
    }

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


    public static class ItemHolder extends RecyclerView.ViewHolder implements View.OnClickListener {

        public Item currentItem;
        TextView countText;
        Button AddBtn, SubBtn;

        public ItemHolder(View itemView) {
            super(itemView);
            countText = (TextView) itemView.findViewById(R.id.order_item_name);

            AddBtn = (Button) itemView.findViewById(R.id.order_service1_btn_add);
            SubBtn = (Button) itemView.findViewById(R.id.order_service1_btn_sub);

            AddBtn.setOnClickListener(this);
            SubBtn.setOnClickListener(this);
        }


    }
}

1 回答

  • 4

    试试这个:

    @Override
        public void onBindViewHolder(MyViewHolder myViewHolder, int i){
             myViewHolder.textView.setText(list.get(i));
              myViewHolder.btnButton1.setOnClickListener(new View.OnClickListener(){
                @Override
                public void onClick(View v) {
                    /// button click event
                }
            });
        }
    

相关问题