我可以使用下面的方法在编辑文本框中添加下划线:
contentText.getEditableText().setSpan(new UnderlineSpan(), position, endLen, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
我在单词下面划了线之后,有没有什么方法可以让我知道哪个单词被划了线?这是因为我需要知道有多少单词,哪些单词被划了线。提前感谢你回答我的问题。
您可以使用getSpanEnd(对象标签)和getSpanStart(对象标签)来确定跨度的开始和结束。唯一的事情是你需要有原始UnderlineSpan对象的引用。
我是这样做的。
UnderlineSpan span = new UnderlineSpan();
contentText.getEditableText().setSpan(span, 0, 5, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
Log.d("Span", "___Start___"+contentText.getEditableText().getSpanStart(span));
Log.d("Span", "___End___"+contentText.getEditableText().getSpanEnd(span));
我在单词下面划了线之后,有没有什么方法可以让我知道哪个单词被划了线?
你已经知道哪个单词下划线了。你只是在它下面划了线。使用position
和endLen
检索下划线的文本。
虽然您可以稍后调用getSpans()
来检索UnderlineSpan
,但UnderlineSpan
不包含有关其位置的信息。