using Android.Views; using AndroidX.RecyclerView.Widget; using System.Application.UI.ViewModels; using System.Common; namespace System.Application.UI.Adapters { /// /// 的通用基类 /// public abstract class BaseViewHolder : RecyclerView.ViewHolder, IReadOnlyItemViewType { public BaseViewHolder(View itemView) : base(itemView) { } /// /// 是否需要绑定列表项点击事件 /// 默认值: /// public virtual bool ItemClickable => true; /// /// 绑定列表项点击事件的Id /// public virtual int ItemClickId => R.id.adapter_item_click; /// /// 是否需要绑定列表项[长按]点击事件 /// 默认值: /// public virtual bool ItemLongClickable => false; /// /// 绑定列表项[长按]点击事件的Id /// public virtual int ItemLongClickId => R.id.adapter_item_long_click; } /// public abstract class BaseViewHolder : BaseViewHolder, IReadOnlyItemViewType where TViewType : struct, IConvertible { public BaseViewHolder(View itemView) : base(itemView) { } public new TViewType ItemViewType => base.ItemViewType.ConvertToEnum(); } }