设置 EditText 的最大长度

Set max length for EditText

我想在 EditText 中设置 1 个字符的长度,但只是在条件的一部分。有一种方法可以通过 XML 设置最大长度,但这将应用于整个条件。如何以编程方式设置最大长度?

您可以在 XML 中添加:

android:maxLength="10"

或以编程方式:

EditText editText = new EditText(this);
int maxLength = 3;    
editText.setFilters(new InputFilter[] {
    new InputFilter.LengthFilter(maxLength)
});
public void setEditTextMaxLength(EditText editText, int length) {
      InputFilter[] FilterArray = new InputFilter[1];
      FilterArray[0] = new InputFilter.LengthFilter(length);
      editText.setFilters(FilterArray);
  }
edtTime.setFilters(new InputFilter[]{ new InputFilter.LengthFilter(4) });

在 Kotlin 中,这个扩展函数很方便:

fun EditText.setMaxLength(maxLength: Int) {
    filters = arrayOf(InputFilter.LengthFilter(maxLength))
}