【问题标题】:EditText to enter 3 alphas and 4 digits - change input type dynamicallyEditText 输入 3 个字母和 4 个数字 - 动态更改输入类型
【发布时间】:2016-11-14 17:34:30
【问题描述】:

我需要设置我的 EditText 之一以输入三个 alpha 值和四个数字例如:- ABC1234。所以当用户输入三个字母时,我需要自动将输入类型从文本更改为电话。我想出了以下代码,但它不会更改为电话输入类型,文本类型仍然适用于任何文本长度。

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

           }
        }

我做错了什么。

【问题讨论】:

    标签: java android android-edittext


    【解决方案1】:

    setRawInputType() 通常用于初始化视图时、自定义视图的构造函数中或活动的 onCreate() 方法中。

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

    【讨论】:

    • 是的,必须等待 7 分钟 :)
    猜你喜欢
    • 1970-01-01
    • 2018-09-08
    • 2021-03-16
    • 1970-01-01
    • 1970-01-01
    • 2018-03-29
    • 2016-06-22
    • 2016-02-05
    • 1970-01-01
    相关资源
    最近更新 更多