2013-10-31 56 views
0

我有一個接受文本和數字值的編輯文本。 我必須在每4個字符後添加一個空格來進行格式化。 這裏是複製問題的步驟 1.點擊編輯文本 2.在鍵盤上選擇數字模式,並保持輸入數字 3.附加時間間隔後,鍵盤切換到文本模式。我如何防止它。這裏是我試過防止鍵盤自動切換到文本模式

editText.addTextChangedListener(new TextWatcher() 
      { 

      public void afterTextChanged(Editable s) 
      { 

      } 

      public void beforeTextChanged(CharSequence s, int start, 
       int count, int after) 
      { 

      } 

      public void onTextChanged(CharSequence s, int start, 
       int before, int count) 
      { 


       String text = editText.getText().toString(); 
      textlength = editText.getText().length(); 

      if(text.endsWith(" "))   
       return; 

      if(textlength == 5 || textlength == 10 || textlength == 20) 
      { 
      editText.setText(new StringBuilder(text).insert(text.length()-1, " ").toString()); 
       editText.setSelection(editText.getText().length()); 
      } 

      }}); 

    } 

回答

0

什麼,你可以嘗試做的是在你的程序 a)檢查是否接收空格字符的代碼。如果是 b)使用函數setInputType(InputType.TYPE_CLASS_NUMBER)切換到數字小鍵盤

希望這能解決問題。但是您需要監視用戶輸入的每個字符。