PhoneNumberFormattingTextWatcher
public
class
PhoneNumberFormattingTextWatcher
extends Object
implements
TextWatcher
java.lang.Object | |
↳ | android.telephony.PhoneNumberFormattingTextWatcher |
This class was deprecated
in API level 35.
This is a thin wrapper on a `libphonenumber` `AsYouTypeFormatter`; it is recommended
to use that instead.
Watches a TextView
and if a phone number is entered
will format it.
Stop formatting when the user
- Inputs non-dialable characters
- Removes the separator in the middle of string.
The formatting will be restarted once the text is cleared.
Summary
Public constructors | |
---|---|
PhoneNumberFormattingTextWatcher()
The formatting is based on the current system locale and future locale changes may not take effect on this instance. |
|
PhoneNumberFormattingTextWatcher(String countryCode)
The formatting is based on the given |
Public methods | |
---|---|
void
|
afterTextChanged(Editable s)
This method is called to notify you that, somewhere within
|
void
|
beforeTextChanged(CharSequence s, int start, int count, int after)
This method is called to notify you that, within |
void
|
onTextChanged(CharSequence s, int start, int before, int count)
This method is called to notify you that, within |
Inherited methods | |
---|---|
Public constructors
PhoneNumberFormattingTextWatcher
public PhoneNumberFormattingTextWatcher ()
The formatting is based on the current system locale and future locale changes may not take effect on this instance.
PhoneNumberFormattingTextWatcher
public PhoneNumberFormattingTextWatcher (String countryCode)
The formatting is based on the given countryCode
.
This method may take several seconds to complete, so it should
only be called from a worker thread.
Parameters | |
---|---|
countryCode |
String : the ISO 3166-1 two-letter country code that indicates the country/region
where the phone number is being entered. |
Public methods
afterTextChanged
public void afterTextChanged (Editable s)
This method is called to notify you that, somewhere within
s
, the text has been changed.
It is legitimate to make further changes to s
from
this callback, but be careful not to get yourself into an infinite
loop, because any changes you make will cause this method to be
called again recursively.
(You are not told where the change took place because other
afterTextChanged() methods may already have made other changes
and invalidated the offsets. But if you need to know here,
you can use Spannable.setSpan
in onTextChanged(CharSequence, int, int, int)
to mark your place and then look up from here where the span
ended up.
Parameters | |
---|---|
s |
Editable |
beforeTextChanged
public void beforeTextChanged (CharSequence s, int start, int count, int after)
This method is called to notify you that, within s
,
the count
characters beginning at start
are about to be replaced by new text with length after
.
It is an error to attempt to make changes to s
from
this callback.
Parameters | |
---|---|
s |
CharSequence |
start |
int |
count |
int |
after |
int |
onTextChanged
public void onTextChanged (CharSequence s, int start, int before, int count)
This method is called to notify you that, within s
,
the count
characters beginning at start
have just replaced old text that had length before
.
It is an error to attempt to make changes to s
from
this callback.
Parameters | |
---|---|
s |
CharSequence |
start |
int |
before |
int |
count |
int |