我使用以下代码筛选跨转的字符串,将所有粗体文本保存为数组中的字符串:
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()]);然而,我在数组中收到的字符串是无序的。例如:
句子可能是(大写代表粗体文本):
storyText = "This ADJECTIVE NOUN is VERB"我得到的数组应该是:“名词,动词,形容词”,按照这个顺序。应该是:“形容词,名词,动词”
对于为什么会发生这种情况,有什么见解吗?
发布于 2014-08-06 07:53:33
使用int nextSpanTransition(int start, int limit, Class kind)遍历跨度。这样你就可以得到阅读顺序了。
https://stackoverflow.com/questions/25097733
复制相似问题