微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android.text.SpanWatcher的实例源码

项目:Dashchan    文件CommentTextView.java   
private void invalidateSpanToClick() {
    if (spanToClick == null) {
        return;
    }
    CharSequence text = getText();
    if (text instanceof Spannable) {
        Spannable spannable = (Spannable) text;
        int start = spannable.getSpanStart(spanToClick);
        int end = spannable.getSpanEnd(spanToClick);
        if (start >= 0 && end >= start) {
            SpanWatcher[] watchers = spannable.getSpans(0,spannable.length(),SpanWatcher.class);
            if (watchers != null && watchers.length >= 1) {
                for (SpanWatcher watcher : watchers) {
                    if (watcher.getClass().getName().equals("android.widget.TextView$ChangeWatcher")) {
                        // Notify span changed to redraw it
                        watcher.onSpanChanged(spannable,spanToClick,start,end,end);
                    }
                }
            }
        }
    }
    invalidate();
}
项目:JotaTextEditor    文件SpannableStringBuilder.java   
private void sendSpanAdded(Object what,int start,int end) {
    SpanWatcher[] recip = getSpans(start,SpanWatcher.class);
    int n = recip.length;

    for (int i = 0; i < n; i++) {
        recip[i].onSpanAdded(this,what,end);
    }
}
项目:JotaTextEditor    文件SpannableStringBuilder.java   
private void sendSpanRemoved(Object what,SpanWatcher.class);
    int n = recip.length;

    for (int i = 0; i < n; i++) {
        recip[i].onSpanRemoved(this,end);
    }
}
项目:JotaTextEditor    文件SpannableStringBuilder.java   
private void sendSpanChanged(Object what,int s,int e,int st,int en) {
    SpanWatcher[] recip = getSpans(Math.min(s,st),Math.max(e,en),SpanWatcher.class);
    int n = recip.length;

    for (int i = 0; i < n; i++) {
        recip[i].onSpanChanged(this,s,e,st,en);
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。