如何从CheckboxTreeViewer获取对象/对象?
问题描述:
我试图从我的CheckboxTreeViewer
中获取一个对象或对象。如何从CheckboxTreeViewer获取对象/对象?
我设置了内容提供者来提供数据,并且我可以从选定的项目中轻松获取数据。我认为这将是这样的: treeViewer.getElements();
但这部作品获得所选对象:
IStructuredSelection ss = (IStructuredSelection) treeViewer.getSelection();
if (ss.size() == 1) {
Object selectedObject = ss.getFirstElement();
if (selectedObject instanceof IndividualNode) {
individual = ((IndividualNode) selectedObject).getIndividual();
}
}
,让我我的对象我从选择想要的。
知道如何从treeViewer
中获取对象(如果未选中)?
有喜欢
treeViewer.getCheckedElements();
返回对象[]的方法。
却找不到像
treeViewer.getElements();
感谢很多东西,
布兰登
答
我不认为有这样的事。最接近的是StructureViewer中的elementMap字段,但这是私人的,所以你甚至不能创建自己的子类并获取这些信息。
答
想通了。
访问树项目使用:
TreeItems[] treeItems = treeViewer.getTree().getItems();
然后用得到的getData对象()
for(int i = 0; i < treeItems.length; i++){
Object itemObject = treeItems[i].getData();
//Then cast to the object type
Foo foo = (Foo) itemObject;
}
此工程的TreeViewer和CheckboxTreeViewer。
您可以将其作为答案。 谢谢! :) – f1v3