EditText是单行文本编辑,与其他控件有点不一样

创建一个文本框对象

EditText editText = findViewById(R.id.editText);

为文本框设置文本改变监听器
其中:
beforeTextChanged在文本发生变化之前调用,可以在此方法中处理一些文本变化之前的逻辑,例如对输入的文本进行验证或格式化等操作。

onTextChanged最常用的用于及时保存用户输入 还有实时显示文本的长度、对输入的文本进行实时过滤

afterTextChanged获取文本框中的最终文本,并进行相应的处理,例如将文本存储到数据库中、触发搜索操作等。

editText.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) {
        // 在用户完成文本输入完成时触发的动作
    }
});