使用TextWatcher实现EditText与TextView同步

我们看过很多例子介绍了EditText与TextView同步的方法,都是通过让EditText控件添加按键监听器来实现,在监听器中让TextView中的值显示为EditText中输入的内容,从而实现了基本的同步功能,大致的实现方法如下:

 

 

 

editText.setOnKeyListener(new EditText.OnClickListener(){  
public boolean onKey(View v,int keyCode,KeyEvent event)  
{  
     textView.setText(editText.getText());  
     return false;  
}  
});  

今天来给大家介绍另一种能让EditText与TextView同步的绝世武功,这门功夫需要炼成一种叫做TextWatcher的东西,下面我们一起来练这门功夫,掌握绝世秘诀,从而实现更加专业的同步功能。

TextWatcher自身是一个接口,首先需要实现这个接口并覆盖其三个方法,分别为Text改变之前,改变之后以及改变的过程中各自发生的动作相应,这里我们只需要实现EditText在文本发生改变时候让TextView的内容跟着发生变化。

editText.addTextChangedListener(new TextWatcher(){
@Override  
public void afterTextChanged(Editable s) {  
    }  
@Override  
public void beforeTextChanged(CharSequence s,int start,int count,int after){      
    }  
@Override  
public void onTextChanged(CharSequence s, int start, int before, int count) {  
   textView.setText(editText.getText());  
  }  
}); 

可以看出TextWatcher是专门用来监听文本变化的,正因为它的这个技能,正是我们实现同步的功能所需要的。

你可能感兴趣的:(android,Android开发,笔记,休闲,开发笔记,lovely_1133)