Package icyllis.modernui.text
Class InputFilter.LengthFilter
java.lang.Object
icyllis.modernui.text.InputFilter.LengthFilter
- All Implemented Interfaces:
InputFilter
- Enclosing interface:
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
-
Method Summary
Modifier and TypeMethodDescriptionfilter
(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) This method is called when the buffer is going to replace the rangedstart … dend
ofdest
with the new text from the rangestart … end
ofsource
.int
getMax()
-
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 rangedstart … dend
ofdest
with the new text from the rangestart … end
ofsource
. Return the CharSequence that you would like to have placed there instead, including an empty string if appropriate, ornull
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 todest
from this method; you may only examine it for context.Note: If source is an instance of
Spanned
orSpannable
, 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 interfaceInputFilter
-
getMax
public int getMax()- Returns:
- the maximum length enforced by this input filter
-