代码设置Android EditText的相关问题。输入长度maxLength

在今天开发中遇到一个自己写的自定义控件,因为考虑到复用,在每个需求下的edittext的输入长度不一样,在xml文件里面设置是不能实现这个需求的,于是在发现了这个API,可以通过代码设置!

希望对大家有所帮助!

  public void setEtCoustomLength(int length){
        if (length>0) {
            etCoustom.setFilters(new InputFilter[]{new InputFilter.LengthFilter(length)});
        }
    }

 重点是这样:

 

setFilters(new InputFilter[]{new InputFilter.LengthFilter(length)});

 

然后就实现了!

另外:将光标移到最后

EditText et = (EditText)findViewById(R.id.inbox);
et.setSelection(et.getText().length());

如果文字显示不下去,省略号的位置

  android:ellipsize="start"

 补充下:

有人说xml可以配置,这个是没有问题的,因为我之前的需求是动态设置,是不一样的,但是又要复用。

所以必须代码控制!

xml如下:

可以在layout xml中加上属性android:maxLength

原文地址:https://www.cnblogs.com/itpepe/p/4809624.html