Android 在OnTextChanged()中设置文本后延迟

Android 在OnTextChanged()中设置文本后延迟,android,android-layout,android-edittext,android-textwatcher,Android,Android Layout,Android Edittext,Android Textwatcher,下面是一个复制我的滞后问题的例子。一旦我在EditTextView上设置了文本,允许用户输入另一个字符至少需要1.5秒 amountEditText.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) {} @Override public voi

下面是一个复制我的滞后问题的例子。一旦我在EditTextView上设置了文本,允许用户输入另一个字符至少需要1.5秒

    amountEditText.addTextChangedListener(new TextWatcher() {
        @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
        @Override public void afterTextChanged(Editable s) {}
        @Override public void onTextChanged(CharSequence s, int start, int before, int count) {
            String amount = s.toString();

            if( !amount.equals(current )) {
                amountEditText.removeTextChangedListener(this);
                amountEditText.setText(s);
                Selection.setSelection(amountEditText.getText(), amountEditText.getText().length());
                amountEditText.addTextChangedListener(this);
            }
        }
    });

我四处搜索,没有找到解决方案。

它会延迟,因为您删除了侦听器,然后读取了它

您似乎试图在编辑文本中选择文本。为此,只需设置
editText.setSelectAllOnFocus(true)
android:selectAllOnFocus=“true”
以xml格式。然后从代码中删除整个TextChangedListener。

根据我的说法,这很可能是因为每次都试图删除(
amountEditText.removeTextChangedListener(此);
)并添加(
amountEditText.addTextChangedListener(此);
)文本更改侦听器。我建议您在不添加和删除代码的情况下替换代码


希望这有帮助。

我发现问题来自textView.setText()调用

解决方案是不使用setText(),而是使用onTextChanged回调中提供给您的可编辑文件

我以前尝试过使用Editable,但是我无法让它与“12000美元”这样的输入一起工作

这是因为InputFilters仍然附加到可编辑的

问候,,
斯科特

请检查此链接。这可能对你有帮助