输入类型 = 数字的 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
因此,我希望用户在 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
*编辑:
这实际上可能是 android:digits="0123456789:"
:p