自定义EditText冻结使用退格键清除文本

时间:2017-07-08 08:23:49

标签: android performance android-edittext

我已经实现了一个Custom EditText,它可以采用Bold,Italics,Underline文本。 一切正常,除非我尝试通过长按退格键来删除文本。在长按退格时,清除文本会有延迟。

这是覆盖onTextChanged()方法

.problem {
  height: 350px;
  width: 350px;
}

1 个答案:

答案 0 :(得分:1)

这不是EditText的功能,它是TextWatcher的功能。你没有制作自定义的EditText,你试图快速破解以避免制作自定义的EditText。差异很重要,因为您的技术缺乏创建真正的自定义编辑文本所具有的强大功能。

其次 - 你确定键盘的延迟不是吗?对于长按不同于短按的按键的典型技术是延迟动作。许多键盘甚至允许您自定义延迟(例如,请参阅Swype)。所以它可能不是你的代码延迟它,键盘的内置功能。 (我认为这是最可能的答案)。

第三 - 你真的做得非常低效。每次调用时都不应该创建新的Spans。您应该在创建时创建一组跨度,并在每次调用它时重用它们。如果你的表现是问题,那么仅此一点就能给你一个很好的加速。