在 Eclipse 中关闭时如何避免触发 TableViewer
How to avoid triggering TableViewer when closing in Eclipse
我正在创建一个 TableViewer
,它必须响应其他组件中的选择。
我正在实施的 selectionChanged
方法中执行一些操作。
@Override
public void selectionChanged(IWorkbenchPart part, ISelection selection) {
}
我想避免在关闭视图时触发 selectionChanged
方法中的操作。
我试过检查收到的部分:
if(part.getSite().getId()!="myviewid")
{
}
但我总是得到之前选择的部分(在我的情况下ResourceNavigator
)。
如何检查我是否选择了我的视图并避免执行某些操作?
当您的视图部分被处置时,您应该从选择服务中删除您的选择侦听器
@Override
public void dispose()
{
ISelectionService service = (ISelectionService)getSite().getService(ISelectionService.class);
service.removeSelectionListener(myListener);
super.dispose();
}
我正在创建一个 TableViewer
,它必须响应其他组件中的选择。
我正在实施的 selectionChanged
方法中执行一些操作。
@Override
public void selectionChanged(IWorkbenchPart part, ISelection selection) {
}
我想避免在关闭视图时触发 selectionChanged
方法中的操作。
我试过检查收到的部分:
if(part.getSite().getId()!="myviewid")
{
}
但我总是得到之前选择的部分(在我的情况下ResourceNavigator
)。
如何检查我是否选择了我的视图并避免执行某些操作?
当您的视图部分被处置时,您应该从选择服务中删除您的选择侦听器
@Override
public void dispose()
{
ISelectionService service = (ISelectionService)getSite().getService(ISelectionService.class);
service.removeSelectionListener(myListener);
super.dispose();
}