有没有办法在 Javafx 2.1 中强制 ListView 刷新而不重新加载列表并更改所选值?
可观察列表由字符串组成,因此更改它们的值是不可行的。
尝试:
...
ObservableList<String> olist = ...
ListView<String> listv = ...
...
listv.setItems(null);
listv.setItems(olist);
用 Property like 包装字符串值SimpleStringProperty
并更改此属性的值应该是可行的。
我用:
private static final ObservableList<String> lists = FXCollections.observableArrayList();
...
synchronized(lists) {
List<String> lsts = new ArrayList<>();
lsts.addAll(lists);
lists.clear();
lists.addAll(lsts);
}