如果你想在listview中的按钮上专门使用click处理程序,你需要这样的东西:
public class CustomListAdapter: BaseAdapter { public CustomListAdapter(Context context, EventHandler buttonClickHandler) { _context = context; _buttonClickHandler = buttonClickHandler; } public View GetView(int position, View convertView, View parent) { var itemView = convertView; if(itemView == null) { var layoutInflater = (LayoutInflater)_context.GetSystemService(Context.LayoutInflaterService); itemView = layoutInflater(Resource.Layout.ItemView); } var button = itemView.FindViewById<Button>(Resource.Id.MyButton); button.Click += _buttonClickHandler; } // ... Rest of the code omitted for simplicity. }
此代码没有考虑到可能有另一个处理程序附加到按钮的事实。在连接新的之前,请确保将旧的解耦。或者添加某种检测,您之前添加了单击处理程序,而不是添加另一个。