gpt4 book ai didi

java - TablewView setAll 的支持列表重置选择但不重置焦点

转载 作者:行者123 更新时间:2023-12-02 08:52:22 25 4
gpt4 key购买 nike

我正在开发一个类似任务管理器的应用程序,其中 TableView 的整个支持列表被定期运行命令行程序的结果替换。我使用 setAll 将表格 View 设置为最新项目。它可以工作,但会重置 View 中的选择。

有趣的是,蓝色焦点栏没有移动,但在使用 setAll 更新后,表格 View 的第一项上显示了一个非常小的轮廓。我想这就是所选索引的呈现方式。当我使用箭头键导航时,选择将定期跳回列表的第一项。

有人知道如何解决这个问题吗?

最佳答案

我找到了一种方法,但我确信还有更好的方法。我手动计算新状态和之前状态之间的差异。然后我分别调用removeAll和addAll方法:

object PortBindingLock

private fun reloadBindings() {
synchronized(PortBindingLock) {
val previous = this.portBindings.toSet()
val current = processService.processPortBindings().toSet()
val toRemove = Sets.difference(previous, current)
val toAdd = Sets.difference(current, previous)
this.portBindings.removeAll(toRemove)
this.portBindings.addAll(toAdd)
}

}

关于java - TablewView setAll 的支持列表重置选择但不重置焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60694448/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com