link to imgurのJavaFX ListViewの重複除去エラー
@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
はそれ自体をクリアするのでしょうか?
[最小、完全で、検証可能な例](http://stackoverflow.com/help/mcve)を問題に追加できますか? ? – ItachiUchiha