【发布时间】:2018-11-22 19:16:06
【问题描述】:
我有一个EditText 字段,变量名valueInputField。
我听文本输入的变化,我想要实现的是在输入过程中,当输入格式不匹配正则表达式时,我想停止显示更多输入,但保持字段集中&用户能够在键盘上键入仍然不会对现场产生任何实际影响。
@OnTextChanged(R.id.value_input)
protected void onTextChanged(CharSequence charSequence) {
String inputChars = charSequence.toString().trim();
// if doesn't match regular expression, stop showing more inputs
if (!inputChars.matches(MY_REGEXP)) {
// this doesn't achieve what I need.
valueInputField.setInputType(0)
}
}
我试过上面的方法,它不起作用。如何实现我所需要的?
【问题讨论】:
-
在 XML 中设置
android:maxLength="3"'会做你想做的事。 -
valueInputField.requestFocus();但实际上你不必做所有这些事情,Vir 是对的 -
其实对不起,我问错了,我现在更新我的问题。
-
你需要实现
public void beforeTextChanged(CharSequence s, int start, int count, int after) -
能否请您提供您的完整代码以及您想要什么样的输出