【问题标题】:Problem setting dynamically the String text in a SpanLabel Constructor在 SpanLabel 构造函数中动态设置字符串文本的问题
【发布时间】:2021-10-20 06:59:27
【问题描述】:

我正在做一个 Maven 项目。

我正在使用一些 SpanLabel 对象构建用户界面。我使用StringBuilder 动态设置SpanLabel 构造函数的文本。当我运行应用程序时,模拟器屏幕完全变黑。当我将SpanLabel 文本设置为静态String 对象时,它工作正常。 任何想法这有什么问题?有没有人遇到过这种行为?

【问题讨论】:

  • 是的,我认为尝试在真实设备上测试此问题,看看是否也出现错误。
  • @fnklstn 我的问题是,如果模拟器的屏幕变黑,那么开发就会变得困难。我目前每月只有有限数量的构建。即使我没有这个问题,但它仍然会很麻烦。
  • 我没试过,但是cn1说本地(不是服务器)构建是免费的。我建议在设备上测试这个问题,因为有时它可能只是模拟器问题。无论如何,我只是尝试测试类似的代码,它似乎工作正常。您可以发布您的代码示例吗?
  • 好吧,在那个“本地”构建案例中,虽然是免费的,但如果我每次都必须这样做仍然没有多大意义,对吧?这很耗时。您能否将遇到相同问题的代码提供给@Shai?他想检查一下,但我现在不能这样做。先感谢您。问候。
  • 我没有这个问题,对我来说效果很好 - 我根据您的描述运行了一个简单的代码,以进行检查。 Android 构建对我来说通常需要 1-2 分钟,所以如果您已经生成了证书,则只需 5 分钟。

标签: label codenameone


【解决方案1】:

如果没有代码,这是一个完整的猜测,但我假设你在主类中做了这个。在调用 init(Object) 之前,Codename One 应用程序不可用。所以很多核心服务,比如字体尺寸等还没有加载。

SpanLabel 依赖于这些服务,如果您在构造函数中调用它们(发生在init(Object) 之前),那么它将失败。

真的没有理由这样做。只需在需要时创建组件即可。

【讨论】:

  • 亲爱的 Shai,它不在主类中。我正在关注与我使用 Ant 开发之前的应用程序时完全相同的合作伙伴。它在那里工作得很好。我无法为这个项目提供代码,但似乎其他人也有同样的问题。也许您可以询问他们在这个问题上的经验。我只能告诉你,这种意想不到的行为在我上班的情况下造成了很多痛苦。
  • 这个类是不是从主类调用的太早了?你有任何堆栈跟踪吗?你能在一个测试用例中重现它,这样我就可以做一些比猜测更多的工作了吗?
  • 亲爱的@Shai 非常抱歉,但我现在无法提供任何信息。但是,稍后我将尝试在另一个虚拟项目中重现该问题。然后我将提供代码,以便您评估问题所在。问候。
猜你喜欢
  • 2014-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-07
  • 1970-01-01
  • 1970-01-01
  • 2013-08-08
  • 1970-01-01
相关资源
最近更新 更多