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();
}
}