EditText输入3个alpha和4个数字 - 动态更改输入类型

时间:2016-11-14 09:30:04

标签: java android android-edittext

我需要设置一个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());

           }
        }

我做错了什么。

1 个答案:

答案 0 :(得分:1)

初始化视图时,通常在自定义视图的构造函数或活动的onCreate()方法中使用

setRawInputType()

在您的情况下,您必须致电setInputType()更改软键盘的模式。