我需要设置一个EditText来输入三个alpha值和四个数字Ex: - ABC1234。因此,当用户键入三个alpha时,我需要自动将输入类型从Text更改为phone。我提出了以下代码,但它没有更改为手机输入类型,文本类型仍为任何文本长度。
editText.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
String text = editText.getText().toString();
if(text.length()==1 || text.length()==2 || text.isEmpty()){
editText.setRawInputType(InputType.TYPE_CLASS_TEXT);
System.out.println("Length Text type : " + text.length());
}else{
editText.setRawInputType(InputType.TYPE_CLASS_PHONE);
System.out.println("Length phone type : " + text.length());
}
}
我做错了什么。
答案 0 :(得分:1)
setRawInputType()
。
在您的情况下,您必须致电setInputType()
更改软键盘的模式。