2016-11-28 129 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鍵時出現的事件。

希望這會有所幫助!

相關問題