使用TextWatcher实现EditText与TextView同步

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

editText.setOnKeyListener(newEditText.OnClickListener(){  
public boolean onKey(View v,int keyCode,KeyEventevent)  
{  
    textView.setText(editText.getText());  
    return false;  
}  
});  

今天ATAAW.COM来给大家介绍另一种能让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,intcount,intafter){      
   }  
@Override  
public void onTextChanged(CharSequence s, int start, int before,int count) {  
  textView.setText(editText.getText());  
  }  
}); 

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

你可能感兴趣的:(使用TextWatcher实现EditText与TextView同步)