Package icyllis.modernui.text

# Class InputFilter.LengthFilter

java.lang.Object
icyllis.modernui.text.InputFilter.LengthFilter

All Implemented Interfaces:
  `InputFilter`

Enclosing interface:
  `InputFilter`

public static class InputFilter.LengthFilter extends Object implements InputFilter
This filter will constrain edits not to make the length of the text greater than the specified length.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from interface icyllis.modernui.text.InputFilter

  `InputFilter.LengthFilter`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `LengthFilter(int max)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `CharSequence`
  `filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend)`
  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`.
  `int`
  `getMax()`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### LengthFilter

    public LengthFilter(int max)

- ## Method Details

  - ### filter

    @Nullable public CharSequence filter(@Nonnull CharSequence source, int start, int end, @Nonnull Spanned dest, int dstart, int dend)
    Description copied from interface: `InputFilter`
    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 `Spanned` or `Spannable`, the span objects in the source should be copied into the filtered result (i.e. the non-null return value). `TextUtils.copySpansFrom(icyllis.modernui.text.Spanned, int, int, java.lang.Class<?>, icyllis.modernui.text.Spannable, int)` can be used for convenience if the span boundary indices would be remaining identical relative to the source.

    Specified by:
      `filter` in interface `InputFilter`

  - ### getMax

    public int getMax()
    Returns:
      the maximum length enforced by this input filter