您的位置:首页 > 其它

使用TextWatcher实现EditText与TextView同步

2011-05-17 22:11 651 查看
我们看过很多例子介绍了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 iOS” 博客,请务必保留此出处http://lovely1133.blog.51cto.com/1612511/567314
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: