相关疑难解决方法(0)

TextWatcher事件被多次触发

我对TextWatcher有一个恼人的问题.我一直在网上搜索,但找不到任何东西.感谢有人能帮助我.

出于某种原因,在一次文本更改时对TextWatcher事件的调用是不稳定的.有时它们会被触发一次(就像它们应该的那样),有时是两次,有时是3次.不知道为什么,整件事情非常直截了当.有时候,afterTextChanged()上的Editable参数会返回toString()和length()中的空值.

代码如下:

    private TextWatcher mSearchAddressTextChangeListener = new TextWatcher() {
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) { }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) { }

        @Override
        public void afterTextChanged(Editable searchedAddress) {
           System.out.println("called multiple times.");   
        }
    };
Run Code Online (Sandbox Code Playgroud)

内部afterTextChanged()(和AsyncTask)我没有对文本或EditText视图进行任何更改.

我看到在TextWatcher的事件中询问的问题被调用了两次,但我发现事件触发的次数多于(或少于)两次.

无论如何,感谢任何帮助.

编辑:我删除了afterTextChanged()的内容导致即使没有我的代码也会发生此问题.是什么让我相信这是一个错误.当在常规字符(事件处理程序被触发两次)之后输入'space'字符时或者在删除常规字符之后的'space'字符(退格.事件处理程序被触发3次)时,会发生错误.帮助仍将受到赞赏.

android android-layout textwatcher

40
推荐指数
4
解决办法
2万
查看次数

标签 统计

android ×1

android-layout ×1

textwatcher ×1