我有一个带有 View 的插件,它根据所选项目中找到的不同文件创建一个表格查看器(工作区加载了多个项目)。我的问题是,当我尝试重新加载 View 时,信息与 Eclipse 启动后第一次运行时的信息保持不变。
我应该怎么做才能在每次重新加载 View 时重新加载内容提供程序?
最佳答案
要了解哪个部分处于 Activity 状态,您需要使用 IPartListener2
。让您的 ViewPart 实现 IPartListener2
。
在createPartControl
中设置监听器:
@Override
public void createPartControl(final Composite parent)
{
....
getSite().getWorkbenchWindow().getPartService().addPartListener(this);
}
在dispose
中删除监听器:
@Override
public void dispose()
{
super.dispose();
...
getSite().getWorkbenchWindow().getPartService().removePartListener(this);
}
您必须实现IPartListener
的各种方法,其中大多数不需要执行任何操作,当您的 View (或任何其他部分)如图所示:
@Override
public void partVisible(final IWorkbenchPartReference ref)
{
if (ref.getId().equals("your view id"))
{
// Your view has become visible ... add code here to update the table
}
}
关于java - 重新加载 Eclipse View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26093330/