【发布时间】:2018-10-13 00:42:01
【问题描述】:
我需要一些帮助来加快过滤一长串列表项并在 ListView 上查看它们的过程。
我的应用程序有一个搜索栏、一个 ListView 和一个很长的字符串列表可供选择。
当用户输入搜索词时,ListView 会随着每次击键而更新,并过滤掉不相关的项目。
排序本身需要几毫秒,但之后使用新的过滤器事件更新 ListView 需要很长时间(如果只输入了一个字符作为搜索条件,则只需 20 秒)
我相信每次过滤列表更新时都会花费大量时间来膨胀大量 ViewCell。
你们中有人知道如何加快这个过程吗?我认为它的工作方式是拥有非常有限数量的 ViewCell(如 10 个或 20 个),然后让它们更新并仅显示过滤列表的选择。滚动将重用顶部/底部,更新内容并将其放回底部/顶部 - 但我无法弄清楚如何做到这一点。
也许这是错误的方法,您知道更好的方法吗?
【问题讨论】:
-
请分享相关代码
-
另外,您的列表视图中有多少项?因为我做了类似的事情,并且几乎没有任何延迟,它对大约 200-300 个项目非常有效。
标签: forms listview xamarin optimization searchbar