如何刷新TreeViewer并像上次一样展开节点?

时间:2018-05-03 13:00:46

标签: eclipse-plugin eclipse-rcp rcp

我有一个谜题。当我每次保存文件后调用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的内容得到正确。我想知道我的方法是否正确?正确的方法应该如何实现这个功能?或者如何修改?

0 个答案:

没有答案