我有一个 TreeViewer,我试图将其项目展开或折叠一层。我的 TreeViewer 包含具有相同名称的项目。例如:
Node 1
-> Node A
-> Node B
-> Node C
Node 2
-> Node A
-> Node B
-> Node C
即使我选择第二个节点 A 展开或折叠,它仍然会展开或折叠第一个节点 A。
我的扩展代码是:
ITreeSelection selection = (ITreeSelection) tree.getSelection();
TreeNode selectedItem = (TreeNode) selection.getFirstElement();
tree.expandToLevel(selectedItem, 1);
我的崩溃代码是:
ITreeSelection selection = (ITreeSelection) tree.getSelection();
TreeNode selectedItem = (TreeNode) selection.getFirstElement();
TreeNode[] children = selectedItem.getChildren();
if (children != null) {
for (TreeNode child : children) {
tree.collapseToLevel(child, 1);
}
}
我该怎么做才能使 TreeViewer 展开和折叠正确的选定项目?