android - 在 SpannableString 中获取应用跨度的范围

标签 android textview spannablestring

我试图在 SpannableString 上获取一组已应用的跨度,然后找到应用它们的范围。那可能吗?据我所知,似乎没有内置方法可以执行此操作。我说得对吗?

Object[] spans = spannableString.getSpans(0, spannableString.length(), Object.class);

    List<Object> spanArray = asList(spans);

    for (Object span: spanArray) {
        if (span.getClass().equals(MyCustomSpan.class)) {
            MyCustomSpan s = (MyCustomSpan) span;

            // Get the range in spannableString where this span has been applied.
            // How do I do this?
        }
    }

最佳答案

Call getSpanStart()getSpanEnd()检索应用跨度的 Spanned 中的开始和结束位置。

关于android - 在 SpannableString 中获取应用跨度的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25524947/

相关文章:

android - EditText 上的 InputFilter 导致重复文本

android - 如何在不在设备短信 View 中记录的情况下从 Android 应用程序发送短信?

安卓 fanotify_init : Function not implemented

android - "f"后面有 "i"的文本,看不到 "i"上的点,没有字体

android - onMeasure 被调用 1,500 多次

android - 尝试使用 Picasso 库加载图像。无法获取上下文

Android TextView 需要 FadingEdge 渐变方向

java - 在 TextView 中附加 HTML 内容

android - 在 TextView 中使用 SpannableStringBuilder 的段落间距

java - 使用可扩展字符串设置两个第一个单词的样式