public interface TextWatcher
implements NoCopySpan
android.text.TextWatcher |
Known Indirect Subclasses |
当一个类型的对象被附加到一个可编辑的时候,它的方法将在文本被改变时被调用。
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
|