【发布时间】:2016-07-19 08:12:46
【问题描述】:
@FXML
ListView queueList;
ObservableList<QueueSong> SongQueueObservableList;
queueList.setCellFactory(new Callback<ListView<QueueSong>,ListCell<QueueSong>>() {
@Override
public ListCell<QueueSong> call(ListView<QueueSong> myObjectListView) {
ListCell<QueueSong> cell = new ListCell<QueueSong>(){
@Override
protected void updateItem(QueueSong myObject, boolean b) {
super.updateItem(myObject, b);
if(myObject != null) {
setText(myObject.getSong());
}
}
};
return cell;
}
});
queueList.setItems(SongQueueObservableList);
SongQueueObservableList.add(new QueueSong("song 1", "artist 1"));
SongQueueObservableList.add(new QueueSong("song 2", "artist 2"));
SongQueueObservableList.add(new QueueSong("song 3", "artist 3"));
SongQueueObservableList.add(new QueueSong("song 4", "artist 4"));
我尝试了以下删除的实现
Platform.runLater( () -> {
// queueList.getItems().remove(0);
SongQueueObservableList.remove(0);
});
第一个副本之后的行不可选择。只有从列表中删除所有值后,ListView 才会更新为空列表。
如果有人对如何解决这个问题有任何建议,我将不胜感激。
当我使用调试器时,ObservableList 和 ListView 都具有预期值。我想真正的问题是,为什么只有当所有对象都被删除时,ListView 才会自行清除?
【问题讨论】:
-
您可以在问题中添加Minimal, Complete, and Verifiable example 吗?
标签: listview javafx observable observablelist