2010-04-22 52 views
2

如果我想在EditText字段中強制輸入的最大長度,我可以使用maxLength屬性。但是,如果我想執行最小長度(在我的情況下,非空白),我發現沒有相應的minLength屬性。Android:需要驗證非空白輸入的編輯文本

我也看過各種'inputType'屬性(電話,密碼等),但我沒有看到'必填'或'非空白'之類的東西。

我不敢相信這將需要一個自定義輸入過濾器;更可能的答案是如此明顯,它只是不會以我問這個問題的形式寫下來。

回答

1

您可以簡單地檢查yourField.text()在提交時不等於null或「」。如果是,請提示用戶輸入內容。

+1

如果不希望將空格作爲輸入進行計數,也許還可以修剪字符串。 – 2010-04-22 17:38:40

+0

我欣賞這兩個建議。這基本上就是我正在做的 - 在屏幕中的所有字段被填充並且用戶按下「去」按鈕之後驗證。但是我期待/希望的是在焦點離開一個領域之前給予即時反饋的方式,然後才能進入下一個領域。 – 2010-04-22 20:58:10

+0

然後,您只需要在EditText – jqpubliq 2010-04-22 22:17:52

1

儘管如此,例如,如果你有一個提交按鈕,並且你的用戶按下提交而不改變你的TextEdit焦點,你的方法將不會被調用。

採取的活動有2個EditTexts和1個按鈕和一個名爲 「轉到」:

1)用戶在EditText1上EditText2

寫東西

2)用戶點擊

3)代替書面方式的東西在那裏只需點擊即可。

您的onFocusChanged()方法將不會被調用,因爲焦點不是「丟失」。

如果你在你的圍棋button_click方法的驗證,它會觸發,當然,但你不會達到你的目標,「我一直在尋找/希望的是一個方法,讓即時反饋」

你可以嘗試使用TextWatcher。