首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跨度字符串的getSpans返回跨度乱序吗?

问跨度字符串的getSpans返回跨度乱序吗?
EN

Stack Overflow用户
提问于 2014-08-03 01:39:57
回答 1查看 2.3K关注 0票数 5

我使用以下代码筛选跨转的字符串,将所有粗体文本保存为数组中的字符串:

代码语言:javascript
复制
StyleSpan[] spans = storyText.getSpans(0,
        storyText.length(), StyleSpan.class);
List<String> boldedWords = new ArrayList<String>();
for (StyleSpan span : spans) {
    if (span.getStyle() == Typeface.BOLD) {
        //start
        int s = storyText
                .getSpanStart(span);
        //end
        int e = storyText.getSpanEnd(span);
        boldedWords.add(storyText.subSequence(
                s, e).toString());
    }
}

String[] array = boldedWords
        .toArray(new String[boldedWords.size()]);

然而,我在数组中收到的字符串是无序的。例如:

句子可能是(大写代表粗体文本):

代码语言:javascript
复制
storyText = "This ADJECTIVE NOUN is VERB"

我得到的数组应该是:“名词,动词,形容词”,按照这个顺序。应该是:“形容词,名词,动词”

对于为什么会发生这种情况,有什么见解吗?

EN

回答 1

Stack Overflow用户

发布于 2014-08-06 07:53:33

使用int nextSpanTransition(int start, int limit, Class kind)遍历跨度。这样你就可以得到阅读顺序了。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25097733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档