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

Eclipse rcp rcp应用程序如何禁止在文件夹布局中延迟加载视图,eclipse-rcp,Eclipse Rcp,我有一个透视图,其中包含一个俯视图和一个包含两个堆叠视图的文件夹: 在俯视图中进行选择时,文件夹中的视图都需要更新。这是通过添加一个选择侦听器来实现的。但是,只有实际显示的视图才会对选择作出反应。当我选择另一个视图时,它仍然是空的 添加选择侦听器的代码放在视图的init()方法中,显然,只有在加载透视图时,才会为文件夹中的第一个视图调用该方法 有没有办法关闭这种“延迟加载”,以便在创建透视图时创建所有视图(并调用它们的init()方法) 提前感谢您的帮助,这不是一个bug,而是一个功能。 Ecl

我有一个透视图,其中包含一个俯视图和一个包含两个堆叠视图的文件夹:

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

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

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


提前感谢您的帮助,

这不是一个bug,而是一个功能。 Eclipse从这一行为中获益匪浅,因为并非所有插件/视图/等都是加载的,只要它们不是真正需要的。这就是您的侦听器最近被注册的原因(只要真正创建了视图内容)

回到你的问题上来: 您可以尝试手动创建/激活它们

就叫

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView(<ViewID>)
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView()
对他们每一个人。 如果它们没有被激活并放在前面(但显示在堆栈的后面),那么请查看重载的showView()方法,该方法带有secID(可以为null)和一个额外的特定模式标志