EditText 监听 Text 的 改动

[功能]
当EditText 的 Text 改变时 我们希望得到通知 但是可惜的是 android 并没有这个监听器 也就无从得知变化了 但是有个类可以帮助我们 那就是 TextWatcher


[前提]
现有 EditText 其id = edit.

[代码]
1. 定义 TextWatcher 的实例

 

 

Java代码  
  1. private TextWatcher watcher = new TextWatcher(){   
  2.   
  3.         @Override  
  4.         public void afterTextChanged(Editable s) {   
  5.             // TODO Auto-generated method stub   
  6.                
  7.         }   
  8.   
  9.         @Override  
  10.         public void beforeTextChanged(CharSequence s, int start, int count,   
  11.                 int after) {   
  12.             // TODO Auto-generated method stub   
  13.                
  14.         }   
  15.   
  16.         @Override  
  17.         public void onTextChanged(CharSequence s, int start, int before,   
  18.                 int count) {   
  19.             Log.d("TAG","[TextWatcher][onTextChanged]"+s);   
  20.                
  21.         }   
  22.            
  23.     };  

 
2. 在 EditText 上注册该 TextWatcher 实例

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

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

posted @ 2011-10-21 17:43  巩大户  阅读(596)  评论(1编辑  收藏  举报