我正试图从我的插件中关闭一个视图。要求如下。
我在谷歌搜索并发现,我可以使用activePage.hideView()方法关闭视图。由于我没有完全删除视图的选项,我创建了一个PartListener,并且在partActivated()方法中,我调用了hideview方法。
通过遵循这种方法,视图将被关闭,但是运行时异常表示"在激活视图之前阻止org.eclipse.ui.ProjectExplorer的递归激活... xyz ....&# 34;(我正在关闭)。
当用户打开/激活视图时,请帮助我采取正确的方法来关闭视图。
答案 0 :(得分:0)
尝试使用hideView
延迟Display.asyncExec
来电。在partActivated
方法中使用:
Display.getDefault().asyncExec(new Runnable()
{
@Override
public void run()
{
... call hideView here
}
});
在asyncExec
代码运行之后才会运行Runnable
partActivated
,这应该会停止递归激活警告。