EditText时时获取输入的内容:
private Handler handler = new Handler();
private EditText et_acc_nas;
et_acc_nas = (EditText) findViewById(R.id.et_acc_nas);
et_acc_nas.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
if(delayRun!=null){
//每次editText有变化的时候,则移除上次发出的延迟线程
handler.removeCallbacks(delayRun);
}
获得的输入内容= s.toString();
//延迟800ms,如果不再输入字符,则执行该线程的run方法
handler.postDelayed(delayRun, 800);
}
});
/**
* 延迟线程,看是否还有下一个字符输入
*/
private Runnable delayRun = new Runnable() {
@Override
public void run() {
//在这里调用服务器的接口,获取数据
// getSearchResult(editString, "all", 1, "true");
}
};