我有一個擴展了CommonNavigator的視圖。查看擴展CommonNavigator
我正在通過CustomProjectCreation嚮導創建自定義項目。
只有刷新下面的作品給出,但它刷新所有項目應該避免的一個新項目,每次創建,
CommonNavigator resNav;
try {
resNav = (CommonNavigator)activePage.findView("view id");
resNav.getCommonViewer().refresh();
//resNav.getCommonViewer().refresh(newProject); //doesn't work
} catch (PartInitException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ContentProvider looks as below
if(parentElement instanceof IWorkspaceRoot){
List customProjects = getCustomProjects();
return customProjects.toArray(new CustomProject[customProjects.size()]);
}
上進行調試,getCommonViewer()。刷新()調用的getChildren( )方法在內容提供者中。 getCommonViewer()刷新(newProject)不會對ContentProvider的
expandtolevel和setExpandedState一個電話都沒有工作...
如何實現在特定刷新到新創建的項目? 如何擴展創建的項目?
問候, 亞拉文
你還有org.eclipse.ui.navigator.resources插件嗎?這提供了一些東西來監聽資源更改事件,並確保ProjectExplorer與這些事件同步。我不記得如何將它與您自己的CommonNavigator掛鉤,但我認爲這是一種方法。 – 2012-07-12 07:08:10