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());
          }

             }});

    }
4

1 回答 1

0

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

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

于 2013-10-31T07:43:11.720 回答