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