Android Edittext-清除跨度

2024-01-07

我试图通过调用来让 EditText 清除其跨度EditText.getText().clearSpans()。但是,如果我调用此方法,EditText 就会开始表现得很奇怪,换行符显示为框,然后我设置的任何跨度都位于完全错误的位置。

所以我的问题是:如何清除 EditText 中的跨度? (如果不调用 setText() - 文本可能有数千行长,并且频繁重绘它太慢)

非常感谢!


有同样的问题。通过仅删除我添加到 EditText 的跨度类型解决了这个问题。我猜clearSpans 删除的内容超出了应有的范围。我对我使用的每种类型的跨度都做了这样的事情:

toRemoveSpans = et.getSpans(0, et.getText().length(), ForegroundColorSpan.class);
for (int i = 0; i < toRemoveSpans.length; i++) 
    et.removeSpan(toRemoveSpans[i]);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android Edittext-清除跨度 的相关文章

随机推荐