编辑框EditText在开发过程中还是很常用的 , 而有的时候我在想 , 如何实时的获取编辑框里的内容呢 ? 例如 在商品列表中 , 我想在用户输入关键字的时候 自动匹配结果 然后实时的展示出来 , 这就需要用到EditText的一个内容观察者监听了 TextWatcher
今天要实现的效果 是 实时的获取编辑框数据
import android.text.Editable;
import android.text.TextWatcher;
/**
* Created by sxt on 2016/12/12.
*/
public class MyEditTextChangeListener implements TextWatcher {
private String TAG=this.getClass().getName();
/**
* 编辑框的内容发生改变之前的回调方法
*/
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
Log.i("MyEditTextChangeListener", "beforeTextChanged---" + charSequence.toString());
}
/**
* 编辑框的内容正在发生改变时的回调方法 >>用户正在输入
* 我们可以在这里实时地 通过搜索匹配用户的输入
*/
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
Log.i("MyEditTextChangeListener", "onTextChanged---" + charSequence.toString());
}
/**
* 编辑框的内容改变以后,用户没有继续输入时 的回调方法
*/
@Override
public void afterTextChanged(Editable editable) {
Log.i("MyEditTextChangeListener", "afterTextChanged---");
}
}
//代码中运用
//搜索框
EditText et_my_product_search = (EditText) findViewById(R.id.et_my_product_search);
/**
* EditText编辑框内容发生变化时的监听回调
*/
et_my_product_search.addTextChangedListener(new MyTextChangedListener());