Android7.0系统以上editable.getSpans()方法获取数组错乱问题

Android系统用各种span的时候,有一个.getSpans()方法,在Android6.0 以下这个方法返回的数组是有顺序的,但是7.0以上系统这个方法返回的数组顺序有错乱,所以我们需要自己排序

final Editable editable = editText.getEditableText();
ATSpan[] atSpans = editable.getSpans(0, s.length(), ATSpan.class);
Arrays.sort(atSpans,new Comparator() {
@Override
    public int compare(ATSpan atSpan, ATSpan t1) {
return editable.getSpanStart(atSpan)-editable.getSpanStart(t1);
}
});

你可能感兴趣的:(Android7.0系统以上editable.getSpans()方法获取数组错乱问题)