У меня есть вид дерева JFace, в котором есть много корневых узлов, и каждый корневой узел имеет дочерние элементы с множеством уровней. НапримерПолучение корневого узла выбора в JFace Tree View
Root 1
child1
child1.child1
child2
child2.child1
Root 2
child1
child1.child1
child2
child2.child1
Если я нажимаю на любом ребенке под корнем 1 Я хочу, чтобы получить корневой узел 1, и если я нажимаю на любом ребенке под корнем 2 Я хочу, чтобы получить корневой узел 2?
Я проверил с выбором, но есть только один метод getFirstElement() Как я могу это сделать?
viewer.addDoubleClickListener(new IDoubleClickListener() {
@Override
public void doubleClick(DoubleClickEvent event) {
TreeViewer viewer = (TreeViewer) event.getViewer();
IStructuredSelection thisSelection = (IStructuredSelection) event.getSelection();
Object selectedNode = thisSelection.getFirstElement();
viewer.setExpandedState(selectedNode,
!viewer.getExpandedState(selectedNode));
}
});
Я реализовал selectionlistener и на основе выбранный элемент в дереве. Я хочу найти его корневой узел. – wearybands
. Да, используйте контент-провайдера или добавьте код в классы моделей данных. У просмотра дерева нет ничего, что просто даст вам это. –
Что следует добавить поставщику контента в корневой узел? – wearybands