我们要实现:当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, intafter) {
        // TODO Auto-generated method stub
    }
 
    @Override
    public void onTextChanged(CharSequence s, int start, int before, intcount) {
        Log.d("TAG","[TextWatcher][onTextChanged]"+s);
    }
     
};

2、在EditText上注册该TextWatcher实例。

1
2
EditText et = (EditText)findViewById(R.id.edit);
et.addTextChangedListener(watcher);

这样每当EditText的Text改变的时候,onTextChanged()就会被调用!

 

轉:http://www.android-study.com/jichuzhishi/407.html

arrow
arrow
    全站熱搜

    pcwiki 發表在 痞客邦 留言(0) 人氣()