为了在 Xamarin.Android 中的 RecyclerView 中的单元格上使用 Click listner,我们有一个通用的方法是:
mAdapter.ItemClick += OnItemClick; // in OnCreate
和
void OnItemClick (object sender, int position)
{
// Display a toast that briefly shows the enumeration of the selected photo:
int photoNum = position + 1;
Toast.MakeText(this, "This is photo number " + photoNum, ToastLength.Short).Show();
}
在 ViewHolder 中我们放置了这段代码:
itemView.Click += (sender, e) => listener (base.LayoutPosition);
在 RecyclerView.Adapter 中我们有:
public event EventHandler<int> ItemClick;
与:
// Raise an event when the item-click takes place:
void OnClick (int position)
{
if (ItemClick != null)
ItemClick (this, position);
}
一切正常,但如果我想对 ViewHolder 中的项目进行不止一种类型的点击,我该如何管理呢?
例如,我想定义一个打开 Activity 的图像点击。如果用户在同一个 ViewHolder 中单击 TextView,它会执行另一个操作。
Image = itemView.FindViewById<ImageView> (Resource.Id.imageView);
Image.Click += (sender, e) => listener (base.LayoutPosition);
Caption = itemView.FindViewById<TextView> (Resource.Id.textView);
Caption.Click += ???
最佳答案
关于c# - 具有多种类型的单击 RecyclerView 单元格元素 - Xamarin.Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49737293/