public void setSpan(Object what, int start, int end, int flags) { }
這個方法里的第一個參數,也就是一些span的對象,不能重復使用。如下
ForegroundColorSpan fcs = new ForegroundColorSpan(color); ss.setSpan(fcs, 0, 3, Spannable.SPAN_EXCLUSIVE_INCLUSIVE); ss.setSpan(fcs, 4, 6, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
效果只會運用到4~6這段,而不會是運用到兩處。改成下面這樣就可以了
ss.setSpan(new ForegroundColorSpan(color), 0, 3, Spannable.SPAN_EXCLUSIVE_INCLUSIVE); ss.setSpan(new ForegroundColorSpan(color), 4, 6, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
注:每次傳入的第一個參數,都需要是一個新的對象。