TextWatcher
让我的EditText
迟到了。在我做了一些检查后,发生这种情况的唯一方法是每当我做与UI有关的行动时;任何其他与UI无关的操作都不会导致延迟。
它应该是非常简单的方法所以我必须不理解某些东西:
editText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence likers, int arg1, int arg2, int arg3) { }
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { }
@Override
public void afterTextChanged(Editable arg) {
String text = arg.toString().trim();
mTextView2.setText(" "+text +" ");
mTextView1.setText(" "+text +" ");
}
});
导致滞后的原因是什么,我应该怎样做才能消除滞后?
答案 0 :(得分:1)
您需要使用Editable
变量进行所需的更改,这就是重点。
与String
相比,Editable
操作非常慢。
确保在更改前删除textChangedListener
并在更改后将其放回,否则您将进入循环。