java - 从 TextWatcher 方法中清除 TextView

标签 java android events android-edittext

我有一个“当前密码”EditText 和一个显示错误消息的错误 TextView。我想在 EditText 内容更改时清除错误消息,通常是当用户输入另一个字母或删除某些内容时。

即使系统打印消息,错误 TextView 也没有被清除。仅当 EditText 失去焦点时,TextView 才会被清除。

为什么会发生这种情况?这些方法是否在不同的线程上执行?如何在用户输入字符后立即清除 TextView?

    mCurrentPasswordEditText = (EditText) view.findViewById(R.id.current_password_edit_text);
    mCurrentPasswordErrorTextView = (TextView) view.findViewById(R.id.current_password_error_text_view);
    mCurrentPasswordEditText.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            //mCurrentPasswordErrorTextView.setText("");
        }
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            //mCurrentPasswordErrorTextView.setText("");
        }
        @Override
        public void afterTextChanged(Editable s) {
            System.out.println("called multiple times.");
            mCurrentPasswordErrorTextView.setText("");
        }
    });

最佳答案

这个解决方案很奇怪。我认为这是一个错误!

我没有用空字符串“”替换TextView,而是添加了一个额外的空格“”,这立即清除了文本! *smh

mCurrentPasswordEditText = (EditText) view.findViewById(R.id.current_password_edit_text);
mCurrentPasswordErrorTextView = (TextView) view.findViewById(R.id.current_password_error_text_view);
mCurrentPasswordEditText.addTextChangedListener(new TextWatcher() {
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        //mCurrentPasswordErrorTextView.setText("");
    }
    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        //mCurrentPasswordErrorTextView.setText("");
    }
    @Override
    public void afterTextChanged(Editable s) {
        mCurrentPasswordErrorTextView.setText(" ");
    }
});

关于java - 从 TextWatcher 方法中清除 TextView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36668209/

相关文章:

java - 在 spring boot 中加载上下文配置

android - 如何在停止时再次启动相同的音频

java - 从 JTable 单元格获取值

c# - 无窗口 Winforms 应用程序上的关闭事件

java - 将 JPanel 的背景图像设置为 TILED 时应用程序失败

java - 为什么 instanceof 有时不编译,有时返回 false?

android - 文件描述符 3 的 bash 重定向是读取 tcp 端口和写入文本文件的最有效方法吗?

android - 如何从 OneSignal 推送通知 Flutter 中提取消息标题和正文

c# - WPF ListBox 数据绑定(bind)和事件

java.sql.SQLException : Listener refused the connection with the following error: ORA-12505