我的透视图包含顶视图和包含两个堆叠视图的文件夹:
在顶视图中进行选择时,文件夹中的视图都需要更新。这是通过添加选择侦听器来完成的。但是,只有实际显示的视图会对选择作出反应。当我选择另一个视图时,它仍然是空的。
添加选择侦听器的代码放在视图的init()方法中,显然只有在加载透视图时才会调用文件夹中的第一个视图。
有没有办法关闭这个“延迟加载”,以便在创建透视图时创建所有视图(以及调用它们的init()方法?)
提前感谢您的帮助,
答案 0 :(得分:0)
这不是一个错误,它是一个功能。 Eclipse非常有益于此行为,因为并非所有插件/视图/等。只要不是真的需要它们就会加载。这就是为什么你的听众最近注册的原因(一旦真正创建了视图内容)。
但回到你的问题: 您可以尝试手动创建/激活所有这些。
只需致电
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView(<ViewID>)
对于他们每个人。 如果它们未被激活并被带到前面(但显示在堆栈的背景中),那么使用secID(可以为null)和一个额外的特定模式标志来查看重载的showView()方法。