我将从 UI 设计的角度而不是技术代码的角度对此做出回应。(我相信其他人会有办法让列表框保持选定的项目在视图中)
我会争辩说,在向其中添加大量数据的同时使用列表框是不可能做得很好的。假设您确实可以将选择保留在视图中,那么当用户仍在搜索他们所需的项目时,您将无法保持它静止不动。
首先,如果预期的总加载时间低于 10 秒,您可以禁用列表框,直到加载完成。(显然用旋转动画或其他东西将其变灰,以便用户可以看到它正在做某事。)我假设您已经取消了此选项,否则您可能不会在这里询问。但我确实认为这是值得考虑的。如果加载时间非常短,请考虑您的用户是否真的可以通过在列表仍在加载时浏览列表来获得任何收益。
其次,我建议您找到一种方法来限制列表框的内容,以便一次只显示少量。您可以通过仅显示以单个字母开头的名称(以及字母选择控件)来完成此操作。或者您可以在顶部提供一个过滤器条目文本框,用户可以在其中键入前几个字母,并且列表框将仅显示以这些字母开头的名称。这将允许用户键入“sa”,列表框将显示“sam”、“samantha”、“sacha”等。现在列表中只有少量项目,因此您不必担心它跳来跳去。
抱歉,如果这不是您真正想要的,但我认为值得提出替代设计,以防您忽略了它。