SPAN_COMPOSING jest flaga stosować na wszystkie teksty są wejścia, i jest uważana za tymczasową rozpiętości, ma być usunięty, gdy wejście jest zakończona, „Ta flaga jest ustawiony na rozpiętościach, które są używane do stosowania tymczasowych informacji o stylach na komponującym się tekście metody wprowadzania danych, dzięki czemu można je znaleźć i usunąć podczas zastępowania tekstów. "
Here is an example of code który używa SPAN_COMPOSING i usuwa go z tekstu; Odpowiedni kod jest cytowany poniżej:
public static final void removeComposingSpans(Spannable text) {
text.removeSpan(COMPOSING);
Object[] sps = text.getSpans(0, text.length(), Object.class);
if (sps != null) {
for (int i = sps.length-1; i >= 0; i--) {
Object o = sps[i];
if ((text.getSpanFlags(o) & Spanned.SPAN_COMPOSING) != 0) {
text.removeSpan(o);
}
}
}
}
public static void setComposingSpans(Spannable text) {
final Object[] sps = text.getSpans(0, text.length(), Object.class);
if (sps != null) {
for (int i = sps.length - 1; i >= 0; i--) {
final Object o = sps[i];
if (o == COMPOSING) {
text.removeSpan(o);
continue;
}
final int fl = text.getSpanFlags(o);
if ((fl & (Spanned.SPAN_COMPOSING | Spanned.SPAN_POINT_MARK_MASK))
!= (Spanned.SPAN_COMPOSING | Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)) {
text.setSpan(o, text.getSpanStart(o), text.getSpanEnd(o),
(fl & Spanned.SPAN_POINT_MARK_MASK)
| Spanned.SPAN_COMPOSING
| Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
}
text.setSpan(COMPOSING, 0, text.length(),
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE | Spanned.SPAN_COMPOSING);
}
SPAN_INTERMEDIATE ma być traktowana jako flaga służy do przypisania do rozpiętości tymczasowo, gdy jest on w trakcie zmian i zostać usunięte po zmianie jest stosowana. "Ta flaga zostanie ustawiona dla pośrednich zmian zakresu, co oznacza, że po niej nastąpi pewna zmiana."
SPAN_POINT_MARK_MASK jest maską bitów, używane głównie w celach porównawczych, aby sprawdzić, czy stan kwalifikacyjna nieco zostało zastosowane. Zobacz poprawne użycie w kodzie cytowanym powyżej.
SPAN_PRIORITY odnosi się do priorytetu układu tekstu do celów aktualizacji; API zauważa, że powinno ono być ustawiane tylko w nadzwyczajnych okolicznościach i dlatego nie musi być ustawione przez programistę.
SPAN_USER i SPAN_USER_SHIFT obszary do przechowywania kolejnych danych zwyczaj skalarnych być przechowywane z zakresu jeżeli wywoływacz wybiera się nimi posługiwać.