我正在开发一个 javafx 应用程序,它有一个 ObservableList 支持的 ListView。
@FXML
private ListView<String> taggedQueriesResultsList;
private ObservableList<String> searchResultsList = FXCollections.observableArrayList();
ObservableList 使用数据更新,例如list.add("something")
,由计划任务使用Executors.newSingleThreadScheduledExecutor()
. 但是,计划任务在第一次之后永远不会运行。UI 在第一次运行后更新。我注意到,如果我注释掉该行list.add("something")
,任务会按计划定期运行。
我认为这是一些同步问题,但不确定。请帮助我了解发生了什么以及如何解决问题。