如何在App Inventor中获取TextField值而不提交表单



我想使用块部分中的事件,使用该事件可以在不通过按钮提交表单提交的情况下获得输入的文本值。

假设用户输入通过键盘中的手机输入文本,然后按Enters Enter。在这种情况下,我希望一些事件触发并获取用户输入的值。

有2个可用的事件,例如lostfocusgotfocus。这些会起作用吗?或者还有其他好方法可以在按Enter时获得文本价值?

不幸的是,在这种情况下,MIT App Inventor中没有类似OnEnterPressed的事件,并且LostFocusGotFocus将不起作用。

您目前可以做的是

  1. 使用按钮并使用Button.Click事件或
  2. 创建自己的自定义键盘,另请参阅此示例

当前,App Inventor扩展程序有一个限制,只能用于不可访问的组件。稍后,只要可见的组件也可行,您就可以编写自己的文本框扩展名并自己添加一个事件。


在有关不同屏幕的评论中有关新问题的编辑:

明智地使用不同的屏幕
在开始创建另一个屏幕之前,首先您应该考虑真的需要吗?使用垂直安排模拟不同的屏幕,只需将布置设置为可见= true/false,根据需要...

您可以插入监视TextBox1.TextClock组件。当它触发时,它会检查TextBox1.Text是否已更改并将其保存到变量中。当它再次触发时,它将变量与TextBox1.Text进行比较。用户完成键入后,变量和TextBox1.Text将相等,然后您可以像用户按Enter时一样触发事件。

希望这会有所帮助!

最新更新