Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

# LengthFilter

*** ** * ** ***

Kotlin \|[Java](https://developer.android.com/reference/android/text/InputFilter.LengthFilter "View this page in Java")

```
open class LengthFilter : InputFilter
```

|---|---|
| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html) ||
| ↳ | [android.text.InputFilter.LengthFilter](https://developer.android.com/reference/kotlin/android/text/InputFilter.LengthFilter#) |

This filter will constrain edits not to make the length of the text greater than the specified length.

## Summary

| Public constructors ||
|---|---|
| `https://developer.android.com/reference/kotlin/android/text/InputFilter.LengthFilter#LengthFilter(kotlin.Int)(max: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` <br /> |

| Public methods ||
|---|---|
| open [CharSequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html)! | `https://developer.android.com/reference/kotlin/android/text/InputFilter.LengthFilter#filter(kotlin.CharSequence,%20kotlin.Int,%20kotlin.Int,%20android.text.Spanned,%20kotlin.Int,%20kotlin.Int)(source: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html!, start: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, end: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, dest: https://developer.android.com/reference/kotlin/android/text/Spanned!, dstart: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html, dend: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` This method is called when the buffer is going to replace the range `dstart ... dend` of `dest` with the new text from the range `start ... end` of `source`. |
| open [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | `https://developer.android.com/reference/kotlin/android/text/InputFilter.LengthFilter#getMax()()` <br /> |

## Public constructors

### LengthFilter

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
LengthFilter(max: Int)
```

## Public methods

### filter

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
open fun filter(
    source: CharSequence!, 
    start: Int, 
    end: Int, 
    dest: Spanned!, 
    dstart: Int, 
    dend: Int
): CharSequence!
```

This method is called when the buffer is going to replace the range `dstart ... dend` of `dest` with the new text from the range `start ... end` of `source`. Return the CharSequence that you would like to have placed there instead, including an empty string if appropriate, or `null` to accept the original replacement. Be careful to not to reject 0-length replacements, as this is what happens when you delete text. Also beware that you should not attempt to make any changes to `dest` from this method; you may only examine it for context. Note: If source is an instance of `https://developer.android.com/reference/kotlin/android/text/Spanned` or `https://developer.android.com/reference/kotlin/android/text/Spannable`, the span objects in the source should be copied into the filtered result (i.e. the non-null return value). `https://developer.android.com/reference/kotlin/android/text/TextUtils#copySpansFrom(android.text.Spanned,%20kotlin.Int,%20kotlin.Int,%20java.lang.Class,%20android.text.Spannable,%20kotlin.Int)` can be used for convenience if the span boundary indices would be remaining identical relative to the source.

### getMax

Added in [API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

```
open fun getMax(): Int
```

| Return ||
|---|---|
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html` | the maximum length enforced by this input filter |