如何在Eclipse中关闭时避免触发TableViewer

时间:2015-05-25 08:38:10

标签: java eclipse-plugin jface tableviewer

我正在创建一个selectionChanged,它必须响应其他组件中的选择。

我正在实施@Override public void selectionChanged(IWorkbenchPart part, ISelection selection) { } 方法中执行一些操作。

selectionChanged

我想避免在关闭视图时触发if(part.getSite().getId()!="myviewid") { } 方法中的操作。

我尝试检查收到的部分:

ResourceNavigator

但我总是得到之前选择的部分(在我的情况下是.md-select-label)。

如何检查我是否选择了我的观点并避免进行某些操作?

1 个答案:

答案 0 :(得分:1)

在处理视图部件时,您应该从选择服务中删除选择侦听器

@Override
public void dispose()
{
  ISelectionService service = (ISelectionService)getSite().getService(ISelectionService.class);

  service.removeSelectionListener(myListener);

  super.dispose();
}