这里是回收器视图内的项目,所以我想通过点击加号和减号按钮来增加和减少数量.如何在xamarin Android中做到这一点?
这是我的适配器
public class OrderDetailsItemAdapter : RecyclerView.Adapter
{
List<OrderItem> orderItemList = new List<OrderItem>();
RecyclerView orderItemsRecyclerView;
private object orderListitems;
private RecyclerView recyclerview;
Context _context;
public OrderDetailsItemAdapter(List<OrderItem> orderItemList, RecyclerView recyclerview,Context context)
{
this.orderItemList = orderItemList;
this.recyclerview = recyclerview;
_context = context;
}
public override int ItemCount
{
get
{
return orderItemList.Count;
}
}
public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
{
OrderDetailsItemViewHolder viewHolder = holder as OrderDetailsItemViewHolder;
viewHolder.OrderItemCheckBox.Checked = orderItemList[position].IsChecked;
viewHolder.OrderItemSKU.Text = $"SKU: {orderItemList[position].SKU}";
viewHolder.KitIcon.Visibility = orderItemList[position].IsKit ? ViewStates.Visible : ViewStates.Invisible;
viewHolder.OrderItemKitSKU.Text = $"KIT SKU: {orderItemList[position].KitSKU}";
viewHolder.OrderItemQty.Text = $"REQ QTY: {orderItemList[position].OrderQuantity.ToString()}";
viewHolder.OrderItemShipQty.Text = orderItemList[position].ShipQuantity.ToString();
}
public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType)
{
LayoutInflater inflater = LayoutInflater.From(parent.Context);
View itemView = inflater.Inflate(Resource.Layout.order_details_layout_view, parent, false);
return new OrderDetailsItemViewHolder(itemView);
}
}
那么如何获得按钮点击时项目的位置呢?
3条答案
按热度按时间t40tm48m1#
可以在OnBindViewHolder方法中处理逻辑
krcsximq2#
你可以使用ElegantButton控件,这是一个专门用于此目的的自定义控件
你需要的所有资源都可以在下面的git中找到:
https://github.com/ashik94vc/ElegantNumberButton/tree/master/lib/src/main
一旦你在xml中使用了它,你就可以使用
GetNumber
方法从对象中获取数据。epggiuax3#
我知道这是一个老帖子,但在任何情况下,我想帮助你管理你的适配器上的绑定函数的Click事件,但为了防止多次调用事件,我建议使用一个属性从按钮,告诉你它是否有或没有ClickEvent注册以前: