Android 在OnTextChanged()中设置文本后延迟
下面是一个复制我的滞后问题的例子。一旦我在EditTextView上设置了文本,允许用户输入另一个字符至少需要1.5秒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
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仍然附加到可编辑的 问候,,
斯科特 请检查此链接。这可能对你有帮助