當我們在輸入框輸入一些文字,輸入完成後,可以根據些文字來進行查詢等操作。有一個提升逼格的技巧就是我們每輸入一個文字會動態的顯示結果。應用場景:歸屬地查詢,我們輸入電話號碼,點擊查詢,顯示歸屬地。在這裏我們可以在每輸入一個數字就進行一次歸屬地結果的顯示,達到動態顯示的效果。實現:爲EditText設置一個addTextChangedListener監聽,傳一個TextWatch的對象並實現裏面的抽象方法,每當輸入框的文字變化,就會觸發這些方法。下面的代碼中etNumbelongto是一個EditText控件,爲它設置addTextChangedListener監聽。
<span style="white-space:pre"> </span>etNumbelongto = (EditText) findViewById(R.id.et_numbelongto);
// 監聽EditText變化,可以動態的顯示歸屬地
etNumbelongto.addTextChangedListener(new TextWatcher() {
// 文字發生變化時調用
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
if (s.toString().length() >= 3) {
query(s.toString());
}
}
// 文字發生變化前調用
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
// 文字發生變化後調用
@Override
public void afterTextChanged(Editable s) {
}
});