public interface TextWatcher
implements NoCopySpan
| android.text.TextWatcher |
| |
当一个类型的对象被附加到一个可编辑的时候,它的方法将在文本被改变时被调用。
公共方法(Public methods) |
|
|---|---|
abstract void |
afterTextChanged(Editable s) 调用此方法通知您,在 |
abstract void |
beforeTextChanged(CharSequence s, int start, int count, int after) 这种方法被调用来通知您,内 |
abstract void |
onTextChanged(CharSequence s, int start, int before, int count) 这种方法被调用来通知您,内 |
void afterTextChanged (Editable s)
调用此方法是为了通知您,在s之内的某个地方,文本已被更改。 从此回调中对s进行进一步更改是合理的,但请注意不要让自己陷入无限循环,因为您所做的任何更改都会导致此方法再次被递归调用。 (你没有被告知发生了什么变化,因为其他的afterTextChanged()方法可能已经做了其他的更改并且使得偏移无效。但是如果你需要在这里知道,你可以用setSpan(Object, int, int, int)中的onTextChanged(CharSequence, int, int, int)来标记你的位置,然后从在这里跨度结束了。
| 参数(Parameters) | |
|---|---|
s |
Editable
|
void beforeTextChanged (CharSequence s, int start, int count, int after)
这种方法被调用来通知您,内s ,该count在最初的文字start即将被新文本替换长度为after 。 尝试从此回调中更改s是错误的。
| 参数(Parameters) | |
|---|---|
s |
CharSequence
|
start |
int
|
count |
int
|
after |
int
|
void onTextChanged (CharSequence s, int start, int before, int count)
这种方法被调用来通知您,内s ,该count在最初的文字start刚刚取代了长了旧文本before 。 尝试从此回调中更改s是错误的。
| 参数(Parameters) | |
|---|---|
s |
CharSequence
|
start |
int
|
before |
int
|
count |
int
|