2016-11-28 184 views
0

我想知道块中的事件,使用它可以在没有通过按钮提交表单的情况下获得输入的文本值。如何在没有表单提交的情况下在App Inventor中获取文本框值?

比方说,用户通过键盘输入手机文本,并按下输入。在这种情况下,我想要一些事件触发并获取用户输入的值。

有2个事件可用,如lostfocusgotfocus。 这些工作?或者是否有任何其他好的方法来获得输入文本值?

回答

0

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

什么,你现在可以做的是

  1. 使用一个按钮,并使用Button.Click事件,或
  2. 创建自己的自定义键盘,也看到this example

目前,对于限制App Inventor extensions,它只能用于不可见的组件。稍后,只要可见组件可行,那么您可以编写自己的文本框扩展并自行添加事件。


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

使用不同的屏幕明智
开始创建另一个屏幕之前,首先你应该想想是不是真的有必要吗?参见Building apps with many screensSteveJG's post about advantages/disadvantages,因为只有一个屏幕你也可以使用纵向安排来模拟不同的屏幕,刚刚成立的安排,可见=真/假需要...

+0

感谢您的回复,@泰丰。如果我创建一个自定义键盘,我怎么能添加它,我有很多屏幕。例如,我有10页,我想用户在所有屏幕中输入文本?我不想重复代码.. – bhaskar

+0

实际上这是一个新问题,下次你可能会问*新问题...现在看到我更新的答案并阅读[我应该怎么做当有人回答我的问题?](https://stackoverflow.com/help/someone-answers) – Taifun

0

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

希望这会有所帮助!

相关问题