2025-11-20 15:40:38 +08:00
|
|
|
namespace AlicizaX.UI
|
2025-03-12 20:59:12 +08:00
|
|
|
{
|
2026-03-11 14:18:07 +08:00
|
|
|
/// <summary>
|
|
|
|
|
/// RecyclerView 适配器接口,负责提供数据和绑定视图
|
|
|
|
|
/// </summary>
|
2025-03-12 20:59:12 +08:00
|
|
|
public interface IAdapter
|
|
|
|
|
{
|
2026-03-11 14:18:07 +08:00
|
|
|
/// <summary>
|
|
|
|
|
/// 获取列表项总数(包括循环或分组后的虚拟数量)
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns>列表项总数</returns>
|
2025-03-12 20:59:12 +08:00
|
|
|
int GetItemCount();
|
|
|
|
|
|
2026-03-11 14:18:07 +08:00
|
|
|
/// <summary>
|
|
|
|
|
/// 获取实际数据项数量(不包括循环或分组的虚拟数量)
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns>实际数据项数量</returns>
|
2025-03-12 20:59:12 +08:00
|
|
|
int GetRealCount();
|
|
|
|
|
|
2026-03-11 14:18:07 +08:00
|
|
|
/// <summary>
|
|
|
|
|
/// 获取指定索引位置的视图名称,用于视图类型区分
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="index">列表项索引</param>
|
|
|
|
|
/// <returns>视图名称</returns>
|
2025-03-12 20:59:12 +08:00
|
|
|
string GetViewName(int index);
|
|
|
|
|
|
2026-03-11 14:18:07 +08:00
|
|
|
/// <summary>
|
|
|
|
|
/// 绑定视图持有者与数据
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="viewHolder">视图持有者</param>
|
|
|
|
|
/// <param name="index">数据索引</param>
|
2025-03-12 20:59:12 +08:00
|
|
|
void OnBindViewHolder(ViewHolder viewHolder, int index);
|
|
|
|
|
|
2026-03-11 14:18:07 +08:00
|
|
|
/// <summary>
|
|
|
|
|
/// 通知数据已更改,触发视图刷新
|
|
|
|
|
/// </summary>
|
2025-03-12 20:59:12 +08:00
|
|
|
void NotifyDataChanged();
|
|
|
|
|
}
|
|
|
|
|
}
|