rcp应用程序如何禁止在文件夹布局中延迟加载视图

时间:2012-12-11 11:11:55

标签: eclipse-rcp

我的透视图包含顶视图和包含两个堆叠视图的文件夹:

在顶视图中进行选择时,文件夹中的视图都需要更新。这是通过添加选择侦听器来完成的。但是,只有实际显示的视图会对选择作出反应。当我选择另一个视图时,它仍然是空的。

添加选择侦听器的代码放在视图的init()方法中,显然只有在加载透视图时才会调用文件夹中的第一个视图。

有没有办法关闭这个“延迟加载”,以便在创建透视图时创建所有视图(以及调用它们的init()方法?)

提前感谢您的帮助,

1 个答案:

答案 0 :(得分:0)

这不是一个错误,它是一个功能。 Eclipse非常有益于此行为,因为并非所有插件/视图/等。只要不是真的需要它们就会加载。这就是为什么你的听众最近注册的原因(一旦真正创建了视图内容)。

但回到你的问题: 您可以尝试手动创建/激活所有这些。

只需致电

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView(<ViewID>)

对于他们每个人。 如果它们未被激活并被带到前面(但显示在堆栈的背景中),那么使用secID(可以为null)和一个额外的特定模式标志来查看重载的showView()方法。