如何在没有表单提交的情况下获取App Inventor中的文本字段值?

时间:2016-11-28 19:37:13

标签: textbox app-inventor

我想知道块部分中的事件,使用该部分可以获得输入的文本值而无需通过按钮提交表单。

让我们说用户通过键盘在手机中输入文字,然后按回车键。在这种情况下,我希望触发一些事件并获取用户输入的值。

共有2个活动,例如lostfocusgotfocus。 这些会有用吗?或者是否有任何其他好方法可以在按Enter键时获取文本值?

2 个答案:

答案 0 :(得分:0)

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

您目前可以做的是

  1. 使用按钮并使用Button.Click事件或
  2. 创建自己的自定义键盘,另请参阅this example
  3. 目前App Inventor extensions存在限制,只能用于不可见的组件。稍后,只要可见组件可行,那么您可以编写自己的文本框扩展并自己添加事件。

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

    明智地使用不同的屏幕
    在开始创建另一个屏幕之前,首先您应该考虑是否真的有必要?另请参阅Building apps with many screensSteveJG's post about advantages/disadvantages,因为只有一个屏幕中的您也可以使用垂直排列以模拟不同的屏幕,只需根据需要将排列设置为visible = true / false ......

答案 1 :(得分:0)

您可以插入监控Clock的{​​{1}}组件。当它触发时,它会检查TextBox1.Text是否已更改并将其保存到变量中。当它再次触发时,它会将变量与TextBox1.Text进行比较。用户完成输入后,变量和TextBox1.Text将相等,然后您可以触发用户按下Enter键时所发生的事件。

希望这有帮助!