在开发Android的过程中,对于edittext的使用频率还是挺高的,比如用户账号密码的输入,基本信息的填写,数据的填入等,一般都会通过button点击事件对其数据进行提取,不过在一些场景,需要实时监听或者当输入完毕之后要马上获取用户所输入的数据,这就需要考虑使用edittext监听事件的使用了。对于其监听事件一般有两种:
一种为:setOnEditorActionListener,另一种为:addTextChangedListener。
使用方法如下:
1、setOnEditorActionListener
et_on.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
Toast.makeText(getApplicationContext(),"输入的为:"+et_on.getText().toString(),Toast.LENGTH_LONG).show();
return false;
}
});
注意该方法需要通过敲击回车键才会有所监听返回,当这里返回的为false时,表示还能再进行其他操作。效果如下:
如果返回值为true时,按回车键其结果为:
2、addTextChangedListener
该方法使用的可以实时获取用户所输入的数据,为方便演示,本人定义了一个textview监听其数据变化:
et_add.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
tv_show.setText(editable.toString().trim());
}
});
}
用到的三个函数分别是数据变化前、变化时、变化后对于数据的监听事件。主要使用第三个函数。使用效果为:
总结:EditText主要两种方法特征:
1、setOnEditorActionListener对于控件的监听发生于按回车键的时候。
2、addTextChangedListener对于控件的监听是实时对应的。