防止键盘自动切换到文本模式

时间:2013-10-31 07:22:10

标签: android

我有一个接受文本和数值的编辑文本。 我必须在每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());
          }

             }});

    }

1 个答案:

答案 0 :(得分:0)

您可以尝试做的是在您的计划中 a)检查是否收到空格字符。如是 b)使用setInputType函数切换到数字小键盘(InputType.TYPE_CLASS_NUMBER)

希望这能解决问题。但是您需要监视用户输入的每个字符。