Обновление дерева просмотра
Я использую общую структуру навигатора (CNF) для просмотра моего проекта. Я установил поставщика содержимого и поставщика меток для просмотра дерева. Когда данные изменяются внутри моего приложения, мне также необходимо обновить древовидное представление (например, добавить узлы, удалить узлы).
Для этого случая я попытался обновить дерево просмотра. И операция обновления работает успешно. Но после операции обновления выбор дерева вьюеров достигает самого верхнего родительского узла в вьюере. Но вместо этого мне нужен выбор только что добавленного узла или родительского узла вновь добавленного узла. Как этого достичь?
2 ответа
Вы можете вручную установить выделение и показать его в дереве просмотра:
//after the refresh operation
treeViewer.setSelection(new StructuredSelection(newlyAddedNode, true));
Treeviewer требует, чтобы вы реализовали hashCode() и equals() для объектов в вашем Viewer. Кроме того, вы должны предоставить IElementComparer для Viewer.
Полезный совет для форумов Eclipse: http://www.eclipse.org/forums/index.php/t/166563/