我们要实现:当EditText的Text改变时,我们希望得到通知,但是可惜的是Android并没有这个监听器,也就无从得知变化了,但我们可以使用TextWatcher类可以帮助我们来实现这个功能。
现有一个id = edit的EditText。
1、定义一个TextWatcher的实例。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
private
TextWatcher watcher =
new
TextWatcher(){
@Override
public
void
afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
@Override
public
void
beforeTextChanged(CharSequence s,
int
start,
int
count,
int
after) {
// TODO Auto-generated method stub
}
@Override
public
void
onTextChanged(CharSequence s,
int
start,
int
before,
int
count) {
Log.d(
"TAG"
,
"[TextWatcher][onTextChanged]"
+s);
}
};
|
2、在EditText上注册该TextWatcher实例。
1
2
|
EditText et = (EditText)findViewById(R.id.edit);
et.addTextChangedListener(watcher);
|
这样每当EditText的Text改变的时候,onTextChanged()就会被调用!