使用TextWatcher實(shí)現(xiàn)EditText與TextView同步
我們看過(guò)很多例子介紹了EditText與TextView同步的方法,都是通過(guò)讓EditText控件添加按鍵監(jiān)聽器來(lái)實(shí)現(xiàn),在監(jiān)聽器中讓TextView中的值顯示為EditText中輸入的內(nèi)容,從而實(shí)現(xiàn)了基本的同步功能,大致的實(shí)現(xiàn)方法如下:
editText.setOnKeyListener(new EditText.OnClickListener(){
public boolean onKey(View v,int keyCode,KeyEvent event)
{
textView.setText(editText.getText());
return false;
}
});
今天ATAAW.COM來(lái)給大家介紹另一種能讓EditText與TextView同步的絕世武功,這門功夫需要煉成一種叫做TextWatcher的東西,下面我們一起來(lái)練這門功夫,掌握絕世秘訣,從而實(shí)現(xiàn)更加專業(yè)的同步功能。
TextWatcher自身是一個(gè)接口,首先需要實(shí)現(xiàn)這個(gè)接口并覆蓋其三個(gè)方法,分別為Text改變之前,改變之后以及改變的過(guò)程中各自發(fā)生的動(dòng)作相應(yīng),這里我們只需要實(shí)現(xiàn)EditText在文本發(fā)生改變時(shí)候讓TextView的內(nèi)容跟著發(fā)生變化。
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是專門用來(lái)監(jiān)聽文本變化的,正因?yàn)樗倪@個(gè)技能,正是我們實(shí)現(xiàn)同步的功能所需要的。文章
?
鳳凰涅槃/浴火重生/馬不停蹄/只爭(zhēng)朝夕
???? 隱姓埋名/低調(diào)華麗/簡(jiǎn)單生活/完美人生
posted on 2010-11-26 11:27 poetguo 閱讀(5171) 評(píng)論(0) 編輯 收藏 所屬分類: Android