4

我正在将自定义的可点击范围添加到我的 MultiAutoCompleteTextview。在该编辑文本中添加 2 个或更多联系人后。我正在用 Text Contains Count 替换额外的 Span 到 Image Span 。我的问题是计数在低端设备(即 2.2)和高端设备(即 4.0)中显示不同。请看下面的图片。

高端设备。 看起来像这样的高端设备

低端设备 在此处输入图像描述

所以高端设备的问题。每个额外的芯片都将替换计数 2 次。这是替换额外芯片的代码,请找到它。

void createMoreChipPlainText() {

    Editable text = getText();
    int start = 0;
    int end = start;
    for (int i = 0; i < CHIP_LIMIT; i++) {
        end = movePastTerminators(mTokenizer.findTokenEnd(text, start));
        start = end; // move to the next token and get its end.
    }
    // Now, count total addresses.
    start = 0;
    int tokenCount = countTokens(text);
    MoreImageSpan moreSpan = createMoreSpan(tokenCount - CHIP_LIMIT);
    SpannableString chipText = new SpannableString(text.subSequence(end,
            text.length()));
    chipText.setSpan(moreSpan, 0, chipText.length(),
            Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
    text.replace(end, text.length(), chipText);

    mMoreChip = moreSpan;
}

android中可编辑类的替换方法有什么问题吗?任何人都对这个问题有任何想法。请在这里发表您的建议

4

0 回答 0