我有一个RCP应用程序,其中包含多个视图。有一个“欢迎”视图和其他视图。每当我选择“欢迎”视图时,其他视图都会使用代码
关闭PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().hideView(viewID);
(注意:其他插件的依赖关系会添加到存在“欢迎”视图的插件中。)
同样,当我从coolbar或Show view对话框中选择任何其他视图时,我想关闭'Welcome'视图。问题是,如果我通过添加依赖项使用与上面相同的代码,它会在我的应用程序中引起循环依赖并抛出错误。如何在不造成循环依赖的情况下进行此操作?
答案 0 :(得分:0)
这是关闭视图的正确代码。
您不需要使包含视图的插件成为正在执行关闭的插件的依赖项。您所需要的只是视图ID。
循环依赖意味着你有两个插件A和B,A取决于B和B,取决于A.这是不允许的,因为没有办法干净地构建插件。您需要更改依赖关系以删除循环。