Codenameone 尝试在空对象引用上调用虚拟方法“void android.graphics.Point.setAntiAlias(布尔)”

Codenameone 尝试在空对象引用上调用虚拟方法“void android.graphics.Point.setAntiAlias(布尔)”,codenameone,Codenameone,在Codename1应用程序中,我得到了一个CrashReport:java.lang.NullPointException:尝试在空对象引用上调用虚拟方法“void android.graphics.Point.setAntiAliasboolean”。这似乎是在我调用应用程序主窗体上的show之后发生的 请注意,代码在模拟器中运行良好,但在Android上进行显示之前始终会出现此错误 有趣的是,如果我放一个这样的对话框: Dialog.showWait一秒,显示中断点,OK,null; 在.

在Codename1应用程序中,我得到了一个CrashReport:java.lang.NullPointException:尝试在空对象引用上调用虚拟方法“void android.graphics.Point.setAntiAliasboolean”。这似乎是在我调用应用程序主窗体上的show之后发生的

请注意,代码在模拟器中运行良好,但在Android上进行显示之前始终会出现此错误

有趣的是,如果我放一个这样的对话框: Dialog.showWait一秒,显示中断点,OK,null; 在.show之前,单击“确定”,则一切运行良好,没有任何异常

但是用sleep5000代替对话框没有帮助——仍然会得到异常。所以至少看起来这不是一个比赛条件

我已经尝试捕获了所有可能有问题的代码,但未能将其隔离。它总是被CrashReport捕获,并且只有在Android设备上运行时才会被捕获


有什么想法吗?

这个问题的症状非常奇怪,即通过对话解决问题,有一个解释会很有趣。然而,由于不推荐使用的cn1地图代码似乎有牵连,我打算放弃这一条,用最新的Google原生地图代码替换这一代码。如果它再次出现,我将发布另一个问题。

由于缺少实际代码,投票结束。请[编辑][您的问题包括实际错误的全部内容和导致错误的代码。同样,我无法分离导致错误的实际代码。但症状对Codename1团队来说应该有意义吗?在代码的某个点,您在点对象上调用setAntiAlias,此时,点对象为null。查找不是这样,至少不是直接的。Codename1是一个跨平台环境,可以将Java转换为IOS的Objective C和Android的Java difference类。CN1无疑调用了setAntiAlias,但我的代码没有。但这一点很好。我将尝试在CN1代码本身中找到setAntiAlias。请注意,上面的代码引用应该阅读android.graphics.Paint.setAntiAliasboolean。因此,在CN1类中,Paint对象被设置为null。我不确定我能做些什么来实现这一点,但我正在为此表单使用许多布局管理器。有什么想法?