Это произошло со мной снова, вместе с сервером, загружающим html-файлы, а не обработкой. Я не использовал веб-сервер Apache некоторое время на компьютере, а между тем Ubuntu обновлялся как еще две версии изначально установленных LTS. Теперь это
$ cat /etc/issue
Ubuntu 16.04 LTS
Итак, php работал так:
$ sudo apt-get install lamp-server^
$ sudo a2enmod php7.0
$ sudo service apache2 restart
Теперь веб-сервер разбирал php. Возможно, теперь вам нужно обновить некоторые веб-страницы, так как теперь php7.0 работает там, где это было до запуска php5. О, хорошо.
Для вашей ячейки updateItem(...)
вашей фабрики необходимо обработать случай, когда ячейка пуста. Это будет именно тот сценарий, когда элемент удаляется (или становится пустым, потому что узел в TreeView
был свернут), и ячейка, которая ранее показывала элемент, повторно используется как пустая ячейка:
public ListCell<T> call(final ListView<T> param) {
ListCell<T> cell = new ListCell<T>(){
@Override
protected void updateItem(final T persistentObject, final boolean empty) {
super.updateItem(persistentObject, empty);
if (empty) {
setText(null);
setGraphic(null);
} else {
// ... rest of your code.
}
}
}
return cell ;
}