【问题标题】:Codenameone:Unable to set floating hint to textfield代号:无法将浮动提示设置为文本字段
【发布时间】:2016-08-03 12:13:57
【问题描述】:

当我单击应用程序中的文本字段时,我收到以下错误:

[EDT] 0:0:8,230 - Exception: java.lang.IllegalArgumentException - Component is already contained in Container:
    Container[x=29 y=124 width=245 height=71, layout = TableLayout,
    scrollableX = false, scrollableY = false, components = [TextField, TextField]]
java.lang.IllegalArgumentException: Component is already contained in Container:
    Container[x=29 y=124 width=245 height=71, layout = TableLayout,
    scrollableX = false, scrollableY = false, components = [TextField, TextField]]

我想为我的 textField 设置浮动提示。请告诉我如何解决它。我的应用程序需要在所有平台(Android、iOS、Windows)上都得到支持,我不想分别为所有平台编写本机代码。

【问题讨论】:

  • 你应该发布你的代码

标签: codenameone


【解决方案1】:

您已将文本字段添加到容器中,然后将其再次包装在浮动提示中。您应该改为添加浮动提示。例如。你做了这样的事情:

myContainer.add(myTextField);
myContainer.add(new FloatingHint(myTextField));

你应该这样做:

myContainer.add(new FloatingHint(myTextField));

【讨论】:

  • 你能告诉我吗?我如何使用代号为 one 的 Gui builder 来做到这一点
  • 我做了.. @Override protected void onLogin_TxtLoginAction(Component c, ActionEvent event) { findContainerBody().add(findContainerLoginRow2().add(new FloatingHint(findTxtLogin()))); }
  • findTxtLogin() 表示您已经获取了一个已添加到 GUI 构建器中的 UI 层次结构的文本字段,这意味着它已经有一个父级。您需要事先将其删除或使用新的文本字段,这意味着您不应在 GUI 构建器中构造该特定元素
  • 那是 GUI 构建器,很难给出示例。有 TextField 和浮动提示的示例代码,问题是您将其应用到您已经通过 GUI 构建器添加到 UI 的组件。我不确定如何提供代码示例来“不要将其拖到那里”。
  • 您需要多少解决方案?只是不要添加文本字段并通过FloatingHint 添加它是不是太难了?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-09-30
  • 2017-05-06
  • 1970-01-01
  • 2021-06-21
  • 2021-01-18
  • 2016-01-23
  • 2014-09-01
相关资源
最近更新 更多