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

EditText with input type = number , how to show user ":"

因此,我希望用户在 EditText 中写入除以该符号“:”的两个数字。我已将 TextWatcher 添加到此 EditText,因此我可以看到用户正在输入什么。

因此,这就是我在 afterTextChanged 中的 Watcher 中的内容。

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

}

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

这里我遇到了问题。 此 EditText 的输入类型为 "number", 所以,那里只能有数字,“:”不是数字。

小例子: 用户键入 24。afterTextChanged 得到它并添加集合“24:”。 24 是一个数字,"24:" 是一个字符串。

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

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

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

的 xml

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