2010年12月24日 星期五

Android EditText的輸入事件

關於Android的EditText的輸入事件,一開始我以為是用OnKeyListener去處理就可以了。
後來發現我錯了...OnKeyListener只接收"實體鍵盤的event觸發"對一般Android都是觸控的虛擬鍵盤一點反應都沒有。Google後發現應該是要用addTextChangedListener來處理才是正確的做法
程式大致如下:

myEditText.addTextChangedListener(new TextWatcher(){
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,int after) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub

}});

裡面三個function是new TextWatcher()必須要實作的
程式寫在onTextChange()那function裡面就可以了

沒有留言: