gpt4 book ai didi

java - 如果 View 分离,则 Activity 透视为空

转载 作者:行者123 更新时间:2023-12-02 09:42:07 25 4
gpt4 key购买 nike

如果我右键单击并分离 View ,modelService.getActivePerspective(window) 开始返回 null。这意味着重置视角无法正常工作。

如果 View 未分离,则它可以正常工作。我认为当一个新窗口打开时,它正在传递一个不包含透视图的不同窗口。

示例

public class ResetPerspectiveHandler {
@Execute
public static void resetPerspective(final MApplication app, final EPartService partService,
final EModelService modelService, final MWindow window) {

// Prints null
System.out.println(modelService.getActivePerspective(window));

PerspectiveSnippetsCopier.resetPerspective(modelService, partService, app, window,
modelService.getActivePerspective(window).getElementId());
}
}

这可能是什么原因造成的?

最佳答案

getActivePerspective 的代码是:

public MPerspective getActivePerspective(MWindow window) {
List<MPerspectiveStack> pStacks = findElements(window, null, MPerspectiveStack.class);
if (pStacks.size() == 1) {
MPerspective perspective = pStacks.get(0).getSelectedElement();
return perspective;
}

return null;
}

所以它期望在给定窗口中找到一个MPerspectiveStack,大概分离的窗口没有这个。

您可以尝试在应用程序中查找主窗口,而不是使用当前窗口。

MWindow mainWindow = (MWindow)modelService.find("main window id", app);

关于java - 如果 View 分离,则 Activity 透视为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56986436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com