Eclipse 侦听器检测何时打开新视图?

Posted

技术标签:

【中文标题】Eclipse 侦听器检测何时打开新视图?【英文标题】:Eclipse listener to detect whenever a new view has been opened? 【发布时间】:2016-06-23 16:36:59 【问题描述】:

我需要编写挂钩到现有插件视图的 Eclipse 插件代码,但我没有该插件的源代码。我需要一种方法来检测这个视图的实例何时启动,这样我就可以在我的记忆中找到它并发挥我的作用。有没有办法连接到 Eclipse 平台并设置某种基于事件的侦听器?我可以设置一个后台线程(从IStartup.earlyStartup() 开始)并以固定的时间间隔轮询视图,但我不想这样做。任何帮助表示赞赏。谢谢!

【问题讨论】:

【参考方案1】:

使用IPartListener

IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();

IPartService partService = window.getPartService();

partService.addPartListener(listener);

向侦听器告知部件(视图和编辑器)状态的所有更改。

【讨论】:

不确定答案是对还是错。但是问题和答案都很有趣:D 我想到了这一点,并错误地认为getPartService() 会为它单独来自的工作台窗口返回部分服务。我没有意识到它为我提供了整个平台的部分服务。有效!谢谢!我需要实现所有被覆盖的方法,还是只实现我需要的那些? 它是一个接口,所以你必须全部实现它们,但它们实际上不需要做任何事情

以上是关于Eclipse 侦听器检测何时打开新视图?的主要内容,如果未能解决你的问题,请参考以下文章

如何从简单列表视图的按钮打开新活动

ReactVR 全局按键事件监听器

何时在匿名类中创建方法

如何检测套接字连接何时丢失?

将事件侦听器添加到在新窗口中打开的文档中

何时在 tableView 单元中分离 firebase 侦听器?