Android APIs
public interface

InputFilter

android.text.InputFilter
Known Indirect Subclasses

Class Overview

InputFilters can be attached to Editables to constrain the changes that can be made to them.

Summary

Nested Classes
class InputFilter.AllCaps This filter will capitalize all the lower case letters that are added through edits. 
class InputFilter.LengthFilter This filter will constrain edits not to make the length of the text greater than the specified length. 
Public Methods
abstract 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.

Public Methods

public abstract CharSequence filter (CharSequence source, int start, int end, Spanned dest, int dstart, int dend)

Added in API level 1

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). copySpansFrom(Spanned, int, int, Class, Spannable, int) can be used for convenience.