输入类型=数字的EditText,如何显示用户“:”

Ale*_*onk 1 android android-edittext

所以,我希望用户在 EditText 中写入两个数字除以这个符号“:”。我已将 TextWatcher 添加到此 EditText,这样我就可以看到用户正在输入的内容。

因此,这就是我在 afterTextChanged 中的观察者中所拥有的。

@Override
public void afterTextChanged(Editable s) 
{
   String textToEdit = s.toString();
   if  (s.length()==2)
   {
      String h = s.toString();
      h = h+":";
      edit.setText(h);
      edit.setSelection(edit.getText().length()); 
   }

}
Run Code Online (Sandbox Code Playgroud)

当用户输入超过 2 位数字时,我会向 EditText 添加“:”。

我在这里遇到了问题。该EditText的输入类型是“数字”,因此只能是数字,“:”不是数字。

小例子:用户输入 24。afterTextChanged 获取它并添加设置“24:”。24 是一个数字,“24:”是一个字符串。

所以,现在我有“24:”,当我尝试从 EditText 中删除某些内容时,我收到致命错误。

还有其他方法可以在我的 EditText 中显示“:”吗?或者我做错了什么?

Evr*_*kos 5

尝试放入android:digits="0,1,2,3,4,5,6,7,8,9,:"EditText 的 xml

*编辑:这实际上可能是android:digits="0123456789:":p