我正在尝试将All Spans应用于文本,如下所示;
public String getTextWithTags(Editable e)
{
StyleSpan[] ss = e.getSpans(0,e.length(),StyleSpan.class);
ss[0].getSpanStart <--- ? This is the problem, no such function
return "";
}
但是没有索引查找功能来替换标签以将它们存储在数据库中,这样我可以在重新打开文本时检索所有跨度。如何从可编辑对象中获取所有跨度位置?
答案 0 :(得分:8)
StyleSpan[] ss = e.getSpans(0,e.length(),StyleSpan.class);
for(StyleSpan span : ss){
int start = e.getSpanStart(span);
int end = e.getSpanEnd(span);
}
答案 1 :(得分:1)
如果您要查找跨度开始/结束索引,则可以使用此(例如单个val sb = text as SpannableStringBuilder
val firstSpan = getSpans(0, length, RelativeSizeSpan::class.java).first()
val start = (sb as Spanned).getSpanStart(firstSpan)
val end = (sb as Spanned).getSpanEnd(firstSpan)
的示例)-
{{1}}