From 7d03cdf7a2f240ea92c3bf852f5b7406d071b343 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=80=9D=E6=B5=B7?= <1464576565@qq.com> Date: Wed, 1 Apr 2026 11:58:08 +0800 Subject: [PATCH] Update RecyclerView.cs --- Runtime/RecyclerView/RecyclerView.cs | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/Runtime/RecyclerView/RecyclerView.cs b/Runtime/RecyclerView/RecyclerView.cs index 208118e..9cc55bf 100644 --- a/Runtime/RecyclerView/RecyclerView.cs +++ b/Runtime/RecyclerView/RecyclerView.cs @@ -409,16 +409,14 @@ namespace AlicizaX.UI /// /// 获取或设置当前绑定的适配器实例。 /// - public IAdapter RecyclerViewAdapter { get; set; } + internal IAdapter RecyclerViewAdapter { get; private set; } /// - /// 获取或设置当前记录的逻辑选中索引。 + /// 获取当前记录的内部逻辑索引。 + /// 仅供框架内部的导航与布局逻辑使用;业务层请改用 维护自身状态, + /// 或使用适配器上的 ChoiceIndex 表示业务选中项。 /// - public int CurrentIndex - { - get => currentIndex; - set => currentIndex = value; - } + internal int CurrentIndex => currentIndex; #endregion @@ -564,7 +562,7 @@ namespace AlicizaX.UI /// 绑定新的适配器,并重建 RecyclerView 与布局管理器之间的关联关系。 /// /// 要绑定的适配器实例。 - public void SetAdapter(IAdapter adapter) + internal void SetAdapter(IAdapter adapter) { if (!EnsureMainThread(nameof(SetAdapter))) { @@ -613,7 +611,7 @@ namespace AlicizaX.UI /// 目标布局索引。 /// 返回找到的视图持有者。 /// 找到且该持有者仍处于可见范围内时返回 ;否则返回 - public bool TryGetVisibleViewHolder(int index, out ViewHolder viewHolder) + internal bool TryGetVisibleViewHolder(int index, out ViewHolder viewHolder) { viewHolder = ViewProvider.GetViewHolder(index); return viewHolder != null && layoutManager != null && layoutManager.IsVisible(viewHolder.Index); @@ -826,7 +824,7 @@ namespace AlicizaX.UI /// /// 重置视图池、滚动位置与当前索引状态。 /// - public void Reset() + internal void Reset() { if (!EnsureMainThread(nameof(Reset))) { @@ -858,7 +856,7 @@ namespace AlicizaX.UI /// /// 按当前滚动位置重新创建可见范围内的所有视图持有者。 /// - public void Refresh() + internal void Refresh() { if (!EnsureMainThread(nameof(Refresh))) { @@ -891,7 +889,7 @@ namespace AlicizaX.UI /// /// 重新计算内容尺寸、滚动能力与对象池预热状态。 /// - public void RequestLayout() + internal void RequestLayout() { if (!EnsureMainThread(nameof(RequestLayout))) {