如何找出 ToggleGroup 的选定切换的索引?

How to figure out the index of a ToggleGroup's selected toggle?

我正在尝试 select 列表中的一项,该列表的排序方式与 ToggleGroup 我除此之外的一项的排序方式相同。但是,我发现 toggleGroup.getToggles().indexOf(toggleGroup.getSelectedToggle()) 总是 returns -1(在我传递它时抛出的 IndexOutOfBoundsException 中可见)。是否有另一种计算索引的方法,或者我是否对我的方法感到茫然,需要找出完全不同的东西?

更新:显然,这是第一次 selected(我将此代码附加到 selectedToggleProperty() 的更改),它工作正常(我只是没有注意到它,因为我使可见的元素没有适当的布局)。然而,当一个项目被 selected 而另一个项目已经被 selected 时,getselectedToggle() 变成 null,导致上述行为。

所有 JavaFX 切换控件都有一个名为 UserData 的 属性。您应该使用它来创建切换和数据列表之间的链接。依赖切换组中的切换索引可能不是一个好主意。