【问题标题】:Codename One Focus and Removing Components代号一焦点和删除组件
【发布时间】:2020-02-08 20:43:14
【问题描述】:

我在 focusGained 中实现了代码,在某些情况下可能会导致刚刚接收到焦点的组件(我设置为可聚焦的容器)从屏幕上移除,并在容器中被另一个组件替换。这也将导致屏幕重绘以显示更改的组件。

这确实有效,但我有一点问题,因为容器中的下一个组件也获得了焦点,因此我的代码也删除/替换了它。我认为这是因为在重绘时,该组件现在占据了最初发生点击的相同空间。

如果最初选择了容器中的最后一个组件,则替换组件本身被赋予焦点,因此它被移除和替换。

关于我可能有什么错误编码或我可以做些什么来避免第二次 focusGained 调用的任何想法?

【问题讨论】:

    标签: codenameone


    【解决方案1】:

    我怀疑你做错了什么。如果我们删除具有焦点的组件,我们将找到下一个可用的组件。 replace 方法不考虑焦点,但不能将焦点授予尚未实际存在的组件,因此将其授予下一个组件。这里没什么可做的。

    您可以在转换完成后requstFocus()手动修复订单。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-26
      • 2011-05-06
      • 2018-11-19
      • 2014-02-20
      • 2013-02-15
      • 2012-12-29
      • 1970-01-01
      相关资源
      最近更新 更多