gpt4 book ai didi

android - SpannableStringBuilder.getSpans() 排序顺序在牛轧糖 7.0/7.1 上是错误的

转载 作者:搜寻专家 更新时间:2023-11-01 08:30:53 25 4
gpt4 key购买 nike

以下代码适用于我在 2.3 和 6.0.1 之间尝试的所有内容,但在 7.0/Emulator 和 7.1.1/Nexus 6P 上失败

SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder();
for (int i=0;i<5;++i) {
int p = spannableStringBuilder.length();
spannableStringBuilder.append("aAAAAa\n");
spannableStringBuilder.setSpan(new StyleSpan(Typeface.ITALIC), p+1, p+5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}

boolean pass = true;
StyleSpan[] spans = spannableStringBuilder.getSpans(0, spannableStringBuilder.length(), StyleSpan.class);
int p = 0;
for (StyleSpan span : spans) {
int start = spannableStringBuilder.getSpanStart(span);
if (start<p) {
pass = false;
break;
}
p = start;
}

最佳答案

我正在使用的当前解决方法

Arrays.sort(spans, new Comparator<ClickableSpan>() {
@Override
public int compare(ClickableSpan o1, ClickableSpan o2) {
return s.getSpanStart(o1)-s.getSpanStart(o2);
}
});

关于android - SpannableStringBuilder.getSpans() 排序顺序在牛轧糖 7.0/7.1 上是错误的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41052172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com