Как обновить TreeViewer и расширить узлы, как в прошлый раз? - PullRequest
0 голосов
/ 03 мая 2018

У меня есть загадка. Когда я вызываю метод refresh() для обновления TreeViewer после сохранения файла каждый раз, например, treeViewer.refresh() ,, он всегда показывает только корневой элемент.

Перед обновлением

enter image description here

После обновления

enter image description here

Я думаю, что необходимо написать метод, который обновляет и расширяет узел в прошлый раз. enter image description here

Код, который я пытался реализовать этим методом, выглядит следующим образом:

Object[] expanded = treeViewer.getExpandedElements();
treeViewer.getControl().setRedraw(false);
treeViewer.refresh();
treeViewer.setExpandedElements(expanded);
treeViewer.getControl().setRedraw(true);

Но этот метод не достиг желаемого эффекта , И содержимое переменной expanded получает правильно. Я хочу знать, правильный ли мой метод? Как правильный метод должен достичь этой функции? Или как модифицировать?

...