0

我可以使用这种方法在edittext框中给一个单词加下划线:

contentText.getEditableText().setSpan(new UnderlineSpan(), position, endLen, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

给单词下划线后,有什么方法可以让我知道哪个单词是下划线的吗?这是因为我需要知道有多少个单词以及下划线的单词是什么。提前感谢您回答我的问题。

4

2 回答 2

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));
于 2011-12-28T01:31:16.473 回答
2

在我下划线之后,有什么方法可以让我知道哪个单词被下划线?

您已经知道带下划线的单词是什么。你只是强调了它。使用positionendLen检索您加下划线的文本。

虽然您可以getSpans()稍后调用以检索UnderlineSpanUnderlineSpan但 不包含有关其位置的信息。

于 2011-12-28T01:21:41.113 回答