【问题标题】:activating a text field on <cr> input在 <cr> 输入上激活文本字段
【发布时间】:2017-06-26 12:35:29
【问题描述】:

尝试在换行符时激活 codename1 文本字段 输入,我所做的最好的就是在文本字段中定义它 子类

public void keyPressed(int keycode)
{   
    if(keycode==-90) // where does this number come from?
    { fireDoneEvent(); 
    } 
}

这个神秘的常数“-90”从何而来。 有没有更好的支持方式来做到这一点?

【问题讨论】:

  • 请您提供更多详细信息,您究竟想要实现什么?你所说的“激活”是什么意思? (是你点击它并获得焦点的东西还是你指的是别的东西)
  • 我想向听众发送“完成”。这就是 fireDoneEvent 的作用。我想要的效果是您键入一条消息,并在您键入换行符时对其进行处理。

标签: textfield codenameone


【解决方案1】:

按键只会在物理键盘上调用,而不会在虚拟键盘上调用,因此您的方向完全错误。如果这是一个多行文本字段,您可以使用 DataChangeListener 轻松识别带有 \n 的换行符。如果这是一个单行文本字段,您应该使用仅在设备上工作的 done 侦听器(使用 VKB)。

【讨论】:

  • 我正在使用“done”侦听器,但似乎需要两个 才能获得一个事件,我猜一个会终止本机编辑,一个会引起 codename1 的注意。
  • 它应该立即与 done 侦听器一起工作,因为它是本机实现的。你在使用虚拟键盘吗?
  • 是的,标准平板电脑/手机键盘。下次我看到这个时,我会尝试收集更多数据。
猜你喜欢
  • 2014-06-08
  • 1970-01-01
  • 2013-04-24
  • 2017-04-17
  • 2023-03-26
  • 1970-01-01
  • 2017-09-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多