- EditTxt 设置内容变化监听; addTextChangedListener
etPhone.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override //文本在变化的过程中。 public void onTextChanged(CharSequence s, int start, int before, int count) { Log.e("MainActivity", "CharSequence=" + s + "start=" + start + "before=" + before + "count=" + count); if (s.toString().length() == 11) { closeInputMethod(etPhone); etPhone.setInputType(InputType.TYPE_NULL); //设置禁止手机软键盘。 Toast.makeText(MainActivity.this, "手机号的长度已经达到最大值", Toast.LENGTH_SHORT).show(); } } @Override public void afterTextChanged(Editable s) { Log.e("After", "Editable" + s); } });
// 关闭输入键盘。
public void closeInputMethod(EditText et) {
// 得到 系统的 输入管理
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
boolean isOpen = imm.isActive(); // 获取输入法的状态。
if (isOpen) {
//如果为打开的状态, 需要关闭。
imm.hideSoftInputFromWindow(et.getWindowToken(), 0);
}