我可以使用此方法在edittext框中为一个单词加下划线:
contentText.getEditableText().setSpan(new UnderlineSpan(), position, endLen, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
在我强调了这个词之后,是否有任何方法可以让我知道哪个词有下划线?这是因为我需要知道有多少单词以及带有下划线的单词是什么。提前感谢您回答我的问题。
答案 0 :(得分:3)
你可以使用 getSpanEnd(Object tag)和getSpanStart(Object tag)确定范围的开始和结束。唯一的问题是你需要引用原始的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));
答案 1 :(得分:2)
在我强调了这个词后,是否有任何方法可以让我知道哪个词有下划线?
您已经知道带下划线的单词。你刚才加了下划线。使用position
和endLen
检索您加下划线的文字。
虽然您可以稍后致电getSpans()
以检索UnderlineSpan
,但UnderlineSpan
不包含有关其位置的信息。