0

我需要保留完成 android系統軟板上的按鈕(imeOptions - > IME_ACTION_DONE)被禁用,直到在編輯中輸入最小字符數文本。有什麼建議麼?在軟鍵盤中禁用完成操作,直到在編輯文本中鍵入最少字符數

注意:最少字符數只是需要在edittext用戶輸入上執行的一種驗證。因此,直到用戶輸入的文本通過所有驗證,DONE需要保持禁用狀態,以防止用戶導航到下一步。

謝謝

+0

你有沒有考慮啓用/代碼,'editText.setImeOptions(EditorInfo.IME_ACTION_DONE)禁用完成按鈕;',並設置/取消設置,通過使用在'EditText'的監聽和監視修改的文本....? – 2013-03-23 01:12:35

回答

0

我的建議是不會走這條路。最終,你無法控制軟鍵盤的功能。即使您在股票鍵盤上找到了這樣做的方法,它也可能不適用於三星鍵盤或Swype鍵盤。一些第三方鍵盤甚至忽略了像inputType這樣的基本控件,很高興地向用戶顯示輸入數字字段的字母。您應該將所有與鍵盤相關的api視爲諮詢,並且不要指望它們中的任何一個被強制執行。

2

這是我能找到的最接近的。我無法禁用按鈕,但悄悄地消耗了由按鈕觸發的事件,並且不執行任何操作。

 if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)){ 

     if(isValid(mTextView.getText()){ 
      //Permit further operation 
     }else{ 
      //Do nothing - This will consume the KEYCODE_ENTER action 
     } 
     return false; //To let other listeners that this event has already been consumed 
    }